// 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 _BRepOffsetAPI_NormalProjection_HeaderFile #define _BRepOffsetAPI_NormalProjection_HeaderFile #ifndef _Standard_HeaderFile #include #endif #ifndef _Standard_Macro_HeaderFile #include #endif #ifndef _BRepAlgo_NormalProjection_HeaderFile #include #endif #ifndef _BRepBuilderAPI_MakeShape_HeaderFile #include #endif #ifndef _Standard_Real_HeaderFile #include #endif #ifndef _GeomAbs_Shape_HeaderFile #include #endif #ifndef _Standard_Integer_HeaderFile #include #endif #ifndef _Standard_Boolean_HeaderFile #include #endif class Standard_ConstructionError; class Standard_NoSuchObject; class StdFail_NotDone; class TopoDS_Shape; class TopoDS_Edge; class TopTools_ListOfShape; //! A framework to define projection onto a shape
//! according to the normal from each point to be projected.
//! The target shape is a face, and the source shape is an edge or a wire.
//! The target face is considered to be a 2D surface.
class BRepOffsetAPI_NormalProjection : public BRepBuilderAPI_MakeShape { 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); } //! Constructs an empty framework to define projection on
//! a shape according to the normal from each point to be
//! projected to the shape.
Standard_EXPORT BRepOffsetAPI_NormalProjection(); //! Constructs a framework to define projection onto the
//! basis shape S according to the normal from each point
//! to be projected from the shape added to this framework by Add.
//! Default parameters of the algorithm: Tol3D = 1.e-04, Tol2D =sqr(tol3d)
//! , InternalContinuity = GeomAbs_C2, MaxDegree = 14, MaxSeg = 16.
Standard_EXPORT BRepOffsetAPI_NormalProjection(const TopoDS_Shape& S); //! Initializes the empty constructor framework with the shape S.
Standard_EXPORT void Init(const TopoDS_Shape& S) ; //! Adds the shape ToProj to the framework for calculation
//! of the projection by Compute3d.
//! ToProj is an edge or a wire and will be projected onto the basis shape.
//! Exceptions
//! Standard_ConstructionError if ToProj is not added.
Standard_EXPORT void Add(const TopoDS_Shape& ToProj) ; //! Sets the parameters used for computation
//! Tol3 is the requiered tolerance between the 3d projected
//! curve and its 2d representation
//! InternalContinuity is the order of constraints
//! used for approximation
//! MaxDeg and MaxSeg are the maximum degree and the maximum
//! number of segment for BSpline resulting of an approximation.
Standard_EXPORT void SetParams(const Standard_Real Tol3D,const Standard_Real Tol2D,const GeomAbs_Shape InternalContinuity,const Standard_Integer MaxDegree,const Standard_Integer MaxSeg) ; //! Sets the maximum distance between target shape and
//! shape to project. If this condition is not satisfied then corresponding
//! part of solution is discarded.
//! if MaxDist < 0 then this method does not affect the algorithm
Standard_EXPORT void SetMaxDistance(const Standard_Real MaxDist) ; //! Manage limitation of projected edges.
Standard_EXPORT void SetLimit(const Standard_Boolean FaceBoundaries = Standard_True) ; //! Returns true if a 3D curve is computed. If not, false is
//! returned and an initial 3D curve is kept to build the resulting edges.
Standard_EXPORT void Compute3d(const Standard_Boolean With3d = Standard_True) ; //! Builds the result of the projection as a compound of
//! wires. Tries to build oriented wires.
Standard_EXPORT virtual void Build() ; //! Returns true if the object was correctly built by the shape
//! construction algorithm.
//! If at the construction time of the shape, the algorithm
//! cannot be completed, or the original data is corrupted,
//! IsDone returns false and therefore protects the use of
//! functions to access the result of the construction
//! (typically the Shape function).
Standard_EXPORT Standard_Boolean IsDone() const; //! Performs the projection.
//! The construction of the result is performed by Build.
//! Exceptions
//! StdFail_NotDone if the projection was not performed.
Standard_EXPORT const TopoDS_Shape& Projection() const; //! Returns the initial face corresponding to the projected edge E.
//! Exceptions
//! StdFail_NotDone if no face was found.
//! Standard_NoSuchObject if if a face corresponding to
//! E has already been found.
Standard_EXPORT const TopoDS_Shape& Couple(const TopoDS_Edge& E) const; //! Returns the list of shapes generated from the
//! shape .
Standard_EXPORT virtual const TopTools_ListOfShape& Generated(const TopoDS_Shape& S) ; //! Returns the initial edge corresponding to the edge E
//! resulting from the computation of the projection.
//! Exceptions
//! StdFail_NotDone if no edge was found.
//! Standard_NoSuchObject if an edge corresponding to
//! E has already been found.
Standard_EXPORT const TopoDS_Shape& Ancestor(const TopoDS_Edge& E) const; //! build the result as a list of wire if possible in --
//! a first returns a wire only if there is only a wire.
Standard_EXPORT Standard_Boolean BuildWire(TopTools_ListOfShape& Liste) const; protected: private: BRepAlgo_NormalProjection myNormalProjector; }; // other Inline functions and methods (like "C++: function call" methods) #endif