00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef _GEOMAlgo_Tools3D_HeaderFile
00024 #define _GEOMAlgo_Tools3D_HeaderFile
00025
00026 #ifndef _Standard_Boolean_HeaderFile
00027 #include <Standard_Boolean.hxx>
00028 #endif
00029 #ifndef _Standard_Integer_HeaderFile
00030 #include <Standard_Integer.hxx>
00031 #endif
00032 #ifndef _TopAbs_ShapeEnum_HeaderFile
00033 #include <TopAbs_ShapeEnum.hxx>
00034 #endif
00035 #ifndef _TopAbs_State_HeaderFile
00036 #include <TopAbs_State.hxx>
00037 #endif
00038 #ifndef _Standard_Real_HeaderFile
00039 #include <Standard_Real.hxx>
00040 #endif
00041 class TopoDS_Shape;
00042 class IntTools_Context;
00043 class TopoDS_Face;
00044 class TopoDS_Edge;
00045 class TopTools_ListOfShape;
00046 class TopTools_IndexedMapOfShape;
00047 class TopoDS_Solid;
00048 class gp_Pnt;
00049 class TopoDS_Vertex;
00050 class TopTools_IndexedDataMapOfShapeListOfShape;
00051 class NMTTools_ListOfCoupleOfShape;
00052
00053
00054 #ifndef _Standard_HeaderFile
00055 #include <Standard.hxx>
00056 #endif
00057 #ifndef _Standard_Macro_HeaderFile
00058 #include <Standard_Macro.hxx>
00059 #endif
00060
00062 class GEOMAlgo_Tools3D {
00063
00064 public:
00065
00066 void* operator new(size_t,void* anAddress)
00067 {
00068 return anAddress;
00069 }
00070 void* operator new(size_t size)
00071 {
00072 return Standard::Allocate(size);
00073 }
00074 void operator delete(void *anAddress)
00075 {
00076 if (anAddress) Standard::Free((Standard_Address&)anAddress);
00077 }
00078
00079
00080
00084 Standard_EXPORT static Standard_Boolean IsSplitToReverse(const TopoDS_Shape& theSplit,const TopoDS_Shape& theShape,IntTools_Context& theContext) ;
00085
00090 Standard_EXPORT static Standard_Boolean IsSplitToReverse(const TopoDS_Face& theSplit,const TopoDS_Face& theShape,IntTools_Context& theContext) ;
00091
00096 Standard_EXPORT static Standard_Boolean IsSplitToReverse(const TopoDS_Edge& theEdge,const TopoDS_Edge& theSplit,IntTools_Context& theContext) ;
00097
00103 Standard_EXPORT static Standard_Integer Sense(const TopoDS_Face& theF1,const TopoDS_Face& theF2) ;
00104
00107 Standard_EXPORT static void CopyFace(const TopoDS_Face& theF1,TopoDS_Face& theF2) ;
00108
00110 Standard_EXPORT static void MakeContainer(const TopAbs_ShapeEnum theType,TopoDS_Shape& theShape) ;
00111
00116 Standard_EXPORT static void MakeConnexityBlock(const TopTools_ListOfShape& theLS,const TopTools_IndexedMapOfShape& theMapAvoid,TopTools_ListOfShape& theLSCB) ;
00117
00123 Standard_EXPORT static TopAbs_State ComputeStateByOnePoint(const TopoDS_Shape& theShape,const TopoDS_Solid& theSolid,const Standard_Real theTol,IntTools_Context& theContext) ;
00124
00130 Standard_EXPORT static TopAbs_State ComputeState(const gp_Pnt& thePoint,const TopoDS_Solid& theSolid,const Standard_Real theTol,IntTools_Context& theContext) ;
00131
00137 Standard_EXPORT static TopAbs_State ComputeState(const TopoDS_Vertex& theVertex,const TopoDS_Solid& theSolid,const Standard_Real theTol,IntTools_Context& theContext) ;
00138
00144 Standard_EXPORT static TopAbs_State ComputeState(const TopoDS_Edge& theEdge,const TopoDS_Solid& theSolid,const Standard_Real theTol,IntTools_Context& theContext) ;
00145
00152 Standard_EXPORT static TopAbs_State ComputeState(const TopoDS_Face& theFace,const TopoDS_Solid& theSolid,const Standard_Real theTol,const TopTools_IndexedMapOfShape& theBounds,IntTools_Context& theContext) ;
00153
00158 Standard_EXPORT static Standard_Boolean IsInternalFace(const TopoDS_Face& theFace,const TopoDS_Edge& theEdge,const TopoDS_Face& theFace1,const TopoDS_Face& theFace2,IntTools_Context& theContext) ;
00159
00164 Standard_EXPORT static Standard_Boolean IsInternalFace(const TopoDS_Face& theFace,const TopoDS_Edge& theEdge,const TopTools_ListOfShape& theLF,IntTools_Context& theContext) ;
00165
00171 Standard_EXPORT static Standard_Boolean IsInternalFace(const TopoDS_Face& theFace,const TopoDS_Solid& theSolid,const TopTools_IndexedDataMapOfShapeListOfShape& theMEF,const Standard_Real theTol,IntTools_Context& theContext) ;
00172
00177 Standard_EXPORT static void GetFaceOff(const TopoDS_Edge& theEdge,const TopoDS_Face& theFace,const NMTTools_ListOfCoupleOfShape& theLCEF,TopoDS_Face& theFaceOff) ;
00178
00183 Standard_EXPORT static Standard_Boolean GetEdgeOnFace(const TopoDS_Edge& theEdge,const TopoDS_Face& theFace,TopoDS_Edge& theEdgeOnF) ;
00184
00189 Standard_EXPORT static Standard_Boolean GetEdgeOff(const TopoDS_Edge& theEdge,const TopoDS_Face& theFace,TopoDS_Edge& theEdgeOff) ;
00190
00191
00192
00193
00194
00195 protected:
00196
00197
00198
00199
00200
00201
00202
00203
00204
00205 private:
00206
00207
00208
00209
00210
00211
00212
00213
00214
00215 };
00216
00217
00218
00219
00220
00221
00222
00223
00224
00225 #endif