Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef _BlockFix_SphereSpaceModifier_HeaderFile
00024 #define _BlockFix_SphereSpaceModifier_HeaderFile
00025
00026 #ifndef _Standard_HeaderFile
00027 #include <Standard.hxx>
00028 #endif
00029 #ifndef _Handle_BlockFix_SphereSpaceModifier_HeaderFile
00030 #include <Handle_BlockFix_SphereSpaceModifier.hxx>
00031 #endif
00032
00033 #ifndef _Standard_Real_HeaderFile
00034 #include <Standard_Real.hxx>
00035 #endif
00036 #ifndef _TopTools_DataMapOfShapeInteger_HeaderFile
00037 #include <TopTools_DataMapOfShapeInteger.hxx>
00038 #endif
00039 #ifndef _TColStd_IndexedMapOfTransient_HeaderFile
00040 #include <TColStd_IndexedMapOfTransient.hxx>
00041 #endif
00042 #ifndef _BRepTools_Modification_HeaderFile
00043 #include <BRepTools_Modification.hxx>
00044 #endif
00045 #ifndef _Standard_Boolean_HeaderFile
00046 #include <Standard_Boolean.hxx>
00047 #endif
00048 #ifndef _Handle_Geom_Surface_HeaderFile
00049 #include <Handle_Geom_Surface.hxx>
00050 #endif
00051 #ifndef _Handle_Geom_Curve_HeaderFile
00052 #include <Handle_Geom_Curve.hxx>
00053 #endif
00054 #ifndef _Handle_Geom2d_Curve_HeaderFile
00055 #include <Handle_Geom2d_Curve.hxx>
00056 #endif
00057 #ifndef _GeomAbs_Shape_HeaderFile
00058 #include <GeomAbs_Shape.hxx>
00059 #endif
00060 class TopoDS_Face;
00061 class Geom_Surface;
00062 class TopLoc_Location;
00063 class TopoDS_Edge;
00064 class Geom_Curve;
00065 class TopoDS_Vertex;
00066 class gp_Pnt;
00067 class Geom2d_Curve;
00068
00069
00070 class BlockFix_SphereSpaceModifier : public BRepTools_Modification {
00071
00072 public:
00073
00074 void* operator new(size_t,void* anAddress)
00075 {
00076 return anAddress;
00077 }
00078 void* operator new(size_t size)
00079 {
00080 return Standard::Allocate(size);
00081 }
00082 void operator delete(void *anAddress)
00083 {
00084 if (anAddress) Standard::Free((Standard_Address&)anAddress);
00085 }
00086
00087
00088 Standard_EXPORT BlockFix_SphereSpaceModifier();
00089 Standard_EXPORT void SetTolerance(const Standard_Real Toler) ;
00090 Standard_EXPORT Standard_Boolean NewSurface(const TopoDS_Face& F,Handle(Geom_Surface)& S,TopLoc_Location& L,Standard_Real& Tol,Standard_Boolean& RevWires,Standard_Boolean& RevFace) ;
00091 Standard_EXPORT Standard_Boolean NewCurve(const TopoDS_Edge& E,Handle(Geom_Curve)& C,TopLoc_Location& L,Standard_Real& Tol) ;
00092 Standard_EXPORT Standard_Boolean NewPoint(const TopoDS_Vertex& V,gp_Pnt& P,Standard_Real& Tol) ;
00093 Standard_EXPORT Standard_Boolean NewCurve2d(const TopoDS_Edge& E,const TopoDS_Face& F,const TopoDS_Edge& NewE,const TopoDS_Face& NewF,Handle(Geom2d_Curve)& C,Standard_Real& Tol) ;
00094 Standard_EXPORT Standard_Boolean NewParameter(const TopoDS_Vertex& V,const TopoDS_Edge& E,Standard_Real& P,Standard_Real& Tol) ;
00095 Standard_EXPORT GeomAbs_Shape Continuity(const TopoDS_Edge& E,const TopoDS_Face& F1,const TopoDS_Face& F2,const TopoDS_Edge& NewE,const TopoDS_Face& NewF1,const TopoDS_Face& NewF2) ;
00096 Standard_EXPORT Standard_Boolean ForRotation(const TopoDS_Face& F) ;
00097 Standard_EXPORT ~BlockFix_SphereSpaceModifier();
00098
00099
00100
00101
00102
00103
00104 Standard_EXPORT friend Handle_Standard_Type& BlockFix_SphereSpaceModifier_Type_();
00105 Standard_EXPORT const Handle(Standard_Type)& DynamicType() const;
00106 Standard_EXPORT Standard_Boolean IsKind(const Handle(Standard_Type)&) const;
00107
00108 protected:
00109
00110
00111
00112
00113
00114
00115
00116
00117
00118 private:
00119
00120
00121
00122
00123
00124
00125
00126 Standard_Real myTolerance;
00127 TopTools_DataMapOfShapeInteger myMapOfFaces;
00128 TColStd_IndexedMapOfTransient myMapOfSpheres;
00129
00130
00131 };
00132
00133
00134
00135
00136
00137
00138
00139
00140
00141 #endif