1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216
|
// This file is generated by WOK (CPPExt).
// Please do not edit this file; modify original file instead.
// The copyright and license terms as defined for the original file apply to
// this header file considered to be the "object code" form of the original source.
#ifndef _BRepAlgoAPI_Section_HeaderFile
#define _BRepAlgoAPI_Section_HeaderFile
#include <Standard.hxx>
#include <Standard_DefineAlloc.hxx>
#include <Standard_Macro.hxx>
#include <Standard_Boolean.hxx>
#include <BRepAlgoAPI_BooleanOperation.hxx>
#include <Handle_Geom_Surface.hxx>
class BOPAlgo_PaveFiller;
class TopoDS_Shape;
class gp_Pln;
class Geom_Surface;
//! The algorithm is to build a Secton operation between arguments and tools.
//! The result of Section operation consists of vertices and edges.
//! The result of Section operation contains:
//! 1. new vertices that are subjects of V/V, E/E, E/F, F/F interferences
//! 2. vertices that are subjects of V/E, V/F interferences
//! 3. new edges that are subjects of F/F interferences
//! 4. edges that are Common Blocks
class BRepAlgoAPI_Section : public BRepAlgoAPI_BooleanOperation
{
public:
DEFINE_STANDARD_ALLOC
//! Empty constructor
Standard_EXPORT BRepAlgoAPI_Section();
Standard_EXPORT virtual ~BRepAlgoAPI_Section();
//! Empty constructor
//! <PF> - PaveFiller object that is carried out
Standard_EXPORT BRepAlgoAPI_Section(const BOPAlgo_PaveFiller& PF);
//! Constructor with two shapes
//! <S1> -argument
//! <S2> -tool
//! <PerformNow> - the flag:
//! if <PerformNow>=True - the algorithm is performed immediatly
//! Obsolete
Standard_EXPORT BRepAlgoAPI_Section(const TopoDS_Shape& S1, const TopoDS_Shape& S2, const Standard_Boolean PerformNow = Standard_True);
//! Constructor with two shapes
//! <S1> -argument
//! <S2> -tool
//! <PF> - PaveFiller object that is carried out
//! <PerformNow> - the flag:
//! if <PerformNow>=True - the algorithm is performed immediatly
//! Obsolete
Standard_EXPORT BRepAlgoAPI_Section(const TopoDS_Shape& S1, const TopoDS_Shape& S2, const BOPAlgo_PaveFiller& aDSF, const Standard_Boolean PerformNow = Standard_True);
//! Constructor with two shapes
//! <S1> - argument
//! <Pl> - tool
//! <PerformNow> - the flag:
//! if <PerformNow>=True - the algorithm is performed immediatly
//! Obsolete
Standard_EXPORT BRepAlgoAPI_Section(const TopoDS_Shape& S1, const gp_Pln& Pl, const Standard_Boolean PerformNow = Standard_True);
//! Constructor with two shapes
//! <S1> - argument
//! <Sf> - tool
//! <PerformNow> - the flag:
//! if <PerformNow>=True - the algorithm is performed immediatly
//! Obsolete
Standard_EXPORT BRepAlgoAPI_Section(const TopoDS_Shape& S1, const Handle(Geom_Surface)& Sf, const Standard_Boolean PerformNow = Standard_True);
//! Constructor with two shapes
//! <Sf> - argument
//! <S2> - tool
//! <PerformNow> - the flag:
//! if <PerformNow>=True - the algorithm is performed immediatly
//! Obsolete
Standard_EXPORT BRepAlgoAPI_Section(const Handle(Geom_Surface)& Sf, const TopoDS_Shape& S2, const Standard_Boolean PerformNow = Standard_True);
//! Constructor with two shapes
//! <Sf1> - argument
//! <Sf2> - tool
//! <PerformNow> - the flag:
//! if <PerformNow>=True - the algorithm is performed immediatly
//! Obsolete
Standard_EXPORT BRepAlgoAPI_Section(const Handle(Geom_Surface)& Sf1, const Handle(Geom_Surface)& Sf2, const Standard_Boolean PerformNow = Standard_True);
//! initialize the argument
//! <S1> - argument
//! Obsolete
Standard_EXPORT void Init1 (const TopoDS_Shape& S1) ;
//! initialize the argument
//! <Pl> - argument
//! Obsolete
Standard_EXPORT void Init1 (const gp_Pln& Pl) ;
//! initialize the argument
//! <Sf> - argument
//! Obsolete
Standard_EXPORT void Init1 (const Handle(Geom_Surface)& Sf) ;
//! initialize the tool
//! <S2> - tool
//! Obsolete
Standard_EXPORT void Init2 (const TopoDS_Shape& S2) ;
//! initialize the tool
//! <Pl> - tool
//! Obsolete
Standard_EXPORT void Init2 (const gp_Pln& Pl) ;
//! initialize the tool
//! <Sf> - tool
//! Obsolete
Standard_EXPORT void Init2 (const Handle(Geom_Surface)& Sf) ;
Standard_EXPORT void Approximation (const Standard_Boolean B) ;
//! Indicates whether the P-Curve should be (or not)
//! performed on the argument.
//! By default, no parametric 2D curve (pcurve) is defined for the
//! edges of the result.
//! If ComputePCurve1 equals true, further computations performed
//! to attach an P-Curve in the parametric space of the argument
//! to the constructed edges.
//! Obsolete
Standard_EXPORT void ComputePCurveOn1 (const Standard_Boolean B) ;
//! Indicates whether the P-Curve should be (or not)
//! performed on the tool.
//! By default, no parametric 2D curve (pcurve) is defined for the
//! edges of the result.
//! If ComputePCurve1 equals true, further computations performed
//! to attach an P-Curve in the parametric space of the tool
//! to the constructed edges.
//! Obsolete
Standard_EXPORT void ComputePCurveOn2 (const Standard_Boolean B) ;
//! Performs the algorithm
//! Filling interference Data Structure (if it is necessary)
//! Building the result of the operation.
Standard_EXPORT virtual void Build() ;
//! get the face of the first part giving section edge <E>.
//! Returns True on the 3 following conditions :
//! 1/ <E> is an edge returned by the Shape() metwod.
//! 2/ First part of section performed is a shape.
//! 3/ <E> is built on a intersection curve (i.e <E>
//! is not the result of common edges)
//! When False, F remains untouched.
//! Obsolete
Standard_EXPORT Standard_Boolean HasAncestorFaceOn1 (const TopoDS_Shape& E, TopoDS_Shape& F) const;
//! Identifies the ancestor faces of
//! the intersection edge E resulting from the last
//! computation performed in this framework, that is, the faces of
//! the two original shapes on which the edge E lies:
//! - HasAncestorFaceOn1 gives the ancestor face in the first shape, and
//! - HasAncestorFaceOn2 gives the ancestor face in the second shape.
//! These functions return true if an ancestor face F is found, or false if not.
//! An ancestor face is identifiable for the edge E if the following
//! conditions are satisfied:
//! - the first part on which this algorithm performed its
//! last computation is a shape, that is, it was not given as
//! a surface or a plane at the time of construction of this
//! algorithm or at a later time by the Init1 function,
//! - E is one of the elementary edges built by the
//! last computation of this section algorithm.
//! To use these functions properly, you have to test the returned
//! Boolean value before using the ancestor face: F is significant
//! only if the returned Boolean value equals true.
//! Obsolete
Standard_EXPORT Standard_Boolean HasAncestorFaceOn2 (const TopoDS_Shape& E, TopoDS_Shape& F) const;
protected:
Standard_EXPORT void Init (const Standard_Boolean PerformNow) ;
Standard_EXPORT virtual void SetAttributes() ;
private:
Standard_Boolean myParametersChanged;
Standard_Boolean myApprox;
Standard_Boolean myComputePCurve1;
Standard_Boolean myComputePCurve2;
};
#endif // _BRepAlgoAPI_Section_HeaderFile
|