// 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 _ShapeCustom_HeaderFile #define _ShapeCustom_HeaderFile #ifndef _Standard_HeaderFile #include #endif #ifndef _Standard_Macro_HeaderFile #include #endif #ifndef _Handle_BRepTools_Modification_HeaderFile #include #endif #ifndef _Standard_Real_HeaderFile #include #endif #ifndef _Standard_Integer_HeaderFile #include #endif #ifndef _GeomAbs_Shape_HeaderFile #include #endif #ifndef _Standard_Boolean_HeaderFile #include #endif #ifndef _Handle_ShapeCustom_RestrictionParameters_HeaderFile #include #endif class TopoDS_Shape; class BRepTools_Modification; class TopTools_DataMapOfShapeShape; class BRepTools_Modifier; class ShapeCustom_RestrictionParameters; class ShapeCustom_Surface; class ShapeCustom_Curve; class ShapeCustom_Curve2d; class ShapeCustom_RestrictionParameters; class ShapeCustom_DirectModification; class ShapeCustom_TrsfModification; class ShapeCustom_BSplineRestriction; class ShapeCustom_ConvertToRevolution; class ShapeCustom_SweptToElementary; class ShapeCustom_ConvertToBSpline; //! This package is intended to
//! convert geometrical objects and topological. The
//! modifications of one geometrical object to another
//! (one) geometrical object are provided. The supported
//! modifications are the following:
//! conversion of BSpline and Bezier surfaces to analytical form,
//! conversion of indirect elementary surfaces (with left-handed
//! coordinate systems) into direct ones,
//! conversion of elementary surfaces to surfaces of revolution,
//! conversion of surface of linear extrusion, revolution, offset
//! surface to bspline,
//! modification of parameterization, degree, number of segments of bspline
//! surfaces, scale the shape.
class ShapeCustom { public: void* operator new(size_t,void* anAddress) { return anAddress; } void* operator new(size_t size) { return Standard::Allocate(size); } void operator delete(void *anAddress) { if (anAddress) Standard::Free((Standard_Address&)anAddress); } //! Applies modifier to shape and checks sharing in the case assemblies.
Standard_EXPORT static TopoDS_Shape ApplyModifier(const TopoDS_Shape& S,const Handle(BRepTools_Modification)& M,TopTools_DataMapOfShapeShape& context,BRepTools_Modifier& MD) ; //! Returns a new shape without indirect surfaces.
Standard_EXPORT static TopoDS_Shape DirectFaces(const TopoDS_Shape& S) ; //! Returns a new shape which is scaled original
Standard_EXPORT static TopoDS_Shape ScaleShape(const TopoDS_Shape& S,const Standard_Real scale) ; //! Returns a new shape with all surfaces, curves and pcurves
//! which type is BSpline/Bezier or based on them converted
//! having Degree less than or number of spans less
//! than in dependence on parameter priority .
//! and are maximum possible degree
//! and number of spans correspondingly.
//! These values will be used in those cases when approximation with
//! specified parameters is impossible and one of GmaxDegree or
//! GMaxSegments is selected in dependence on priority.
//! Note that even if approximation is impossible with
//! then number of spans can exceed specified
//! specifies if to convert Rational BSpline/Bezier into
//! polynomial B-Spline.
//! If flags ConvOffSurf,ConvOffCurve3d,ConvOffCurve2d are Standard_True there are means
//! that Offset surfaces , Offset curves 3d and Offset curves 2d are converted to BSPline
//! correspondingly.
Standard_EXPORT static TopoDS_Shape BSplineRestriction(const TopoDS_Shape& S,const Standard_Real Tol3d,const Standard_Real Tol2d,const Standard_Integer MaxDegree,const Standard_Integer MaxNbSegment,const GeomAbs_Shape Continuity3d,const GeomAbs_Shape Continuity2d,const Standard_Boolean Degree,const Standard_Boolean Rational,const Handle(ShapeCustom_RestrictionParameters)& aParameters) ; //! Returns a new shape with all elementary periodic surfaces converted
//! to Geom_SurfaceOfRevolution
Standard_EXPORT static TopoDS_Shape ConvertToRevolution(const TopoDS_Shape& S) ; //! Returns a new shape with all surfaces of revolution and linear extrusion
//! convert to elementary periodic surfaces
Standard_EXPORT static TopoDS_Shape SweptToElementary(const TopoDS_Shape& S) ; //! Returns a new shape with all surfaces of linear extrusion, revolution,
//! offset, and planar surfaces converted according to flags to
//! Geom_BSplineSurface (with same parameterisation).
Standard_EXPORT static TopoDS_Shape ConvertToBSpline(const TopoDS_Shape& S,const Standard_Boolean extrMode,const Standard_Boolean revolMode,const Standard_Boolean offsetMode,const Standard_Boolean planeMode = Standard_False) ; protected: private: friend class ShapeCustom_Surface; friend class ShapeCustom_Curve; friend class ShapeCustom_Curve2d; friend class ShapeCustom_RestrictionParameters; friend class ShapeCustom_DirectModification; friend class ShapeCustom_TrsfModification; friend class ShapeCustom_BSplineRestriction; friend class ShapeCustom_ConvertToRevolution; friend class ShapeCustom_SweptToElementary; friend class ShapeCustom_ConvertToBSpline; }; // other Inline functions and methods (like "C++: function call" methods) #endif