// 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 _BRep_Builder_HeaderFile #define _BRep_Builder_HeaderFile #ifndef _Standard_HeaderFile #include #endif #ifndef _Standard_Macro_HeaderFile #include #endif #ifndef _TopoDS_Builder_HeaderFile #include #endif #ifndef _Handle_Geom_Surface_HeaderFile #include #endif #ifndef _Standard_Real_HeaderFile #include #endif #ifndef _Handle_Poly_Triangulation_HeaderFile #include #endif #ifndef _Standard_Boolean_HeaderFile #include #endif #ifndef _Handle_Geom_Curve_HeaderFile #include #endif #ifndef _Handle_Poly_Polygon3D_HeaderFile #include #endif #ifndef _Handle_Poly_PolygonOnTriangulation_HeaderFile #include #endif #ifndef _Handle_Geom2d_Curve_HeaderFile #include #endif #ifndef _Handle_Poly_Polygon2D_HeaderFile #include #endif #ifndef _GeomAbs_Shape_HeaderFile #include #endif class Standard_NullObject; class Standard_DomainError; class TopoDS_Face; class Geom_Surface; class TopLoc_Location; class Poly_Triangulation; class TopoDS_Edge; class Geom_Curve; class Poly_Polygon3D; class Poly_PolygonOnTriangulation; class Geom2d_Curve; class gp_Pnt2d; class Poly_Polygon2D; class TopoDS_Vertex; class gp_Pnt; //! A framework providing advanced tolerance control.
//! If tolerance control is required, you are advised to:
//! 1. build a default precision for topology, using the
//! classes provided in the BRepAPI package
//! 2. update the tolerance of the resulting shape.
//! Note that only vertices, edges and faces have
//! meaningful tolerance control. The tolerance value
//! must always comply with the condition that face
//! tolerances are more restrictive than edge tolerances
//! which are more restrictive than vertex tolerances. In
//! other words: Tol(Vertex) >= Tol(Edge) >= Tol(Face).
//! Other rules in setting tolerance include:
//! - you can open up tolerance but should never restrict it
//! - an edge cannot be included within the fusion of the
//! tolerance spheres of two vertices
class BRep_Builder : public TopoDS_Builder { 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); } //! Makes an undefined Face.
void MakeFace(TopoDS_Face& F) const; //! Makes a Face with a surface.
Standard_EXPORT void MakeFace(TopoDS_Face& F,const Handle(Geom_Surface)& S,const Standard_Real Tol) const; //! Makes a Face with a surface and a location.
Standard_EXPORT void MakeFace(TopoDS_Face& F,const Handle(Geom_Surface)& S,const TopLoc_Location& L,const Standard_Real Tol) const; //! Makes a Face with a triangulation. The triangulation
//! is in the same reference system than the TFace.
//!
Standard_EXPORT void MakeFace(TopoDS_Face& F,const Handle(Poly_Triangulation)& T) const; //! Updates the face F using the tolerance value Tol,
//! surface S and location Location.
Standard_EXPORT void UpdateFace(const TopoDS_Face& F,const Handle(Geom_Surface)& S,const TopLoc_Location& L,const Standard_Real Tol) const; //! Changes a face triangulation.
//!
//! A null Triangulation removes the triangulation.
//!
Standard_EXPORT void UpdateFace(const TopoDS_Face& F,const Handle(Poly_Triangulation)& T) const; //! Updates the face Tolerance.
Standard_EXPORT void UpdateFace(const TopoDS_Face& F,const Standard_Real Tol) const; //! Sets the NaturalRestriction flag of the face.
Standard_EXPORT void NaturalRestriction(const TopoDS_Face& F,const Standard_Boolean N) const; //! Makes an undefined Edge (no geometry).
Standard_EXPORT void MakeEdge(TopoDS_Edge& E) const; //! Makes an Edge with a curve.
void MakeEdge(TopoDS_Edge& E,const Handle(Geom_Curve)& C,const Standard_Real Tol) const; //! Makes an Edge with a curve and a location.
void MakeEdge(TopoDS_Edge& E,const Handle(Geom_Curve)& C,const TopLoc_Location& L,const Standard_Real Tol) const; //! Makes an Edge with a polygon 3d.
void MakeEdge(TopoDS_Edge& E,const Handle(Poly_Polygon3D)& P) const; //! makes an Edge polygon on Triangulation.
void MakeEdge(TopoDS_Edge& E,const Handle(Poly_PolygonOnTriangulation)& N,const Handle(Poly_Triangulation)& T) const; //! makes an Edge polygon on Triangulation.
void MakeEdge(TopoDS_Edge& E,const Handle(Poly_PolygonOnTriangulation)& N,const Handle(Poly_Triangulation)& T,const TopLoc_Location& L) const; //! Sets a 3D curve for the edge.
//! If is a null handle, remove any existing 3d curve.
void UpdateEdge(const TopoDS_Edge& E,const Handle(Geom_Curve)& C,const Standard_Real Tol) const; //! Sets a 3D curve for the edge.
//! If is a null handle, remove any existing 3d curve.
Standard_EXPORT void UpdateEdge(const TopoDS_Edge& E,const Handle(Geom_Curve)& C,const TopLoc_Location& L,const Standard_Real Tol) const; //! Sets a pcurve for the edge on the face.
//! If is a null handle, remove any existing pcurve.
void UpdateEdge(const TopoDS_Edge& E,const Handle(Geom2d_Curve)& C,const TopoDS_Face& F,const Standard_Real Tol) const; //! Sets pcurves for the edge on the closed face. If
//! or is a null handle, remove any existing
//! pcurve.
void UpdateEdge(const TopoDS_Edge& E,const Handle(Geom2d_Curve)& C1,const Handle(Geom2d_Curve)& C2,const TopoDS_Face& F,const Standard_Real Tol) const; //! Sets a pcurve for the edge on the face.
//! If is a null handle, remove any existing pcurve.
Standard_EXPORT void UpdateEdge(const TopoDS_Edge& E,const Handle(Geom2d_Curve)& C,const Handle(Geom_Surface)& S,const TopLoc_Location& L,const Standard_Real Tol) const; //! Sets a pcurve for the edge on the face.
//! If is a null handle, remove any existing pcurve.
//! Sets UV bounds for curve repsentation
Standard_EXPORT void UpdateEdge(const TopoDS_Edge& E,const Handle(Geom2d_Curve)& C,const Handle(Geom_Surface)& S,const TopLoc_Location& L,const Standard_Real Tol,const gp_Pnt2d& Pf,const gp_Pnt2d& Pl) const; //! Sets pcurves for the edge on the closed surface.
//! or is a null handle, remove any existing
//! pcurve.
Standard_EXPORT void UpdateEdge(const TopoDS_Edge& E,const Handle(Geom2d_Curve)& C1,const Handle(Geom2d_Curve)& C2,const Handle(Geom_Surface)& S,const TopLoc_Location& L,const Standard_Real Tol) const; //! Sets pcurves for the edge on the closed surface.
//! or is a null handle, remove any existing
//! pcurve.
//! Sets UV bounds for curve repsentation
Standard_EXPORT void UpdateEdge(const TopoDS_Edge& E,const Handle(Geom2d_Curve)& C1,const Handle(Geom2d_Curve)& C2,const Handle(Geom_Surface)& S,const TopLoc_Location& L,const Standard_Real Tol,const gp_Pnt2d& Pf,const gp_Pnt2d& Pl) const; //! Changes an Edge 3D polygon.
//! A null Polygon removes the 3d Polygon.
void UpdateEdge(const TopoDS_Edge& E,const Handle(Poly_Polygon3D)& P) const; //! Changes an Edge 3D polygon.
//! A null Polygon removes the 3d Polygon.
Standard_EXPORT void UpdateEdge(const TopoDS_Edge& E,const Handle(Poly_Polygon3D)& P,const TopLoc_Location& L) const; //! Changes an Edge polygon on Triangulation.
void UpdateEdge(const TopoDS_Edge& E,const Handle(Poly_PolygonOnTriangulation)& N,const Handle(Poly_Triangulation)& T) const; //! Changes an Edge polygon on Triangulation.
Standard_EXPORT void UpdateEdge(const TopoDS_Edge& E,const Handle(Poly_PolygonOnTriangulation)& N,const Handle(Poly_Triangulation)& T,const TopLoc_Location& L) const; //! Changes an Edge polygon on Triangulation.
void UpdateEdge(const TopoDS_Edge& E,const Handle(Poly_PolygonOnTriangulation)& N1,const Handle(Poly_PolygonOnTriangulation)& N2,const Handle(Poly_Triangulation)& T) const; //! Changes an Edge polygon on Triangulation.
Standard_EXPORT void UpdateEdge(const TopoDS_Edge& E,const Handle(Poly_PolygonOnTriangulation)& N1,const Handle(Poly_PolygonOnTriangulation)& N2,const Handle(Poly_Triangulation)& T,const TopLoc_Location& L) const; //! Changes Edge polygon on a face.
//!
//!
Standard_EXPORT void UpdateEdge(const TopoDS_Edge& E,const Handle(Poly_Polygon2D)& P,const TopoDS_Face& S) const; //! Changes Edge polygon on a face.
//!
//!
Standard_EXPORT void UpdateEdge(const TopoDS_Edge& E,const Handle(Poly_Polygon2D)& P,const Handle(Geom_Surface)& S,const TopLoc_Location& T) const; //! Changes Edge polygons on a face.
//!
//! A null Polygon removes the 2d Polygon.
//!
Standard_EXPORT void UpdateEdge(const TopoDS_Edge& E,const Handle(Poly_Polygon2D)& P1,const Handle(Poly_Polygon2D)& P2,const TopoDS_Face& S) const; //! Changes Edge polygons on a face.
//!
//! A null Polygon removes the 2d Polygon.
//!
Standard_EXPORT void UpdateEdge(const TopoDS_Edge& E,const Handle(Poly_Polygon2D)& P1,const Handle(Poly_Polygon2D)& P2,const Handle(Geom_Surface)& S,const TopLoc_Location& L) const; //! Updates the edge tolerance.
Standard_EXPORT void UpdateEdge(const TopoDS_Edge& E,const Standard_Real Tol) const; //! Sets the geometric continuity on the edge.
Standard_EXPORT void Continuity(const TopoDS_Edge& E,const TopoDS_Face& F1,const TopoDS_Face& F2,const GeomAbs_Shape C) const; //! Sets the geometric continuity on the edge.
Standard_EXPORT void Continuity(const TopoDS_Edge& E,const Handle(Geom_Surface)& S1,const Handle(Geom_Surface)& S2,const TopLoc_Location& L1,const TopLoc_Location& L2,const GeomAbs_Shape C) const; //! Sets the same parameter flag for the edge .
Standard_EXPORT void SameParameter(const TopoDS_Edge& E,const Standard_Boolean S) const; //! Sets the same range flag for the edge .
Standard_EXPORT void SameRange(const TopoDS_Edge& E,const Standard_Boolean S) const; //! Sets the degenerated flag for the edge .
Standard_EXPORT void Degenerated(const TopoDS_Edge& E,const Standard_Boolean D) const; //! Sets the range of the 3d curve if Only3d=TRUE,
//! otherwise sets the range to all the representations
Standard_EXPORT void Range(const TopoDS_Edge& E,const Standard_Real First,const Standard_Real Last,const Standard_Boolean Only3d = Standard_False) const; //! Sets the range of the edge on the pcurve on the
//! surface.
Standard_EXPORT void Range(const TopoDS_Edge& E,const Handle(Geom_Surface)& S,const TopLoc_Location& L,const Standard_Real First,const Standard_Real Last) const; //! Sets the range of the edge on the pcurve on the face.
void Range(const TopoDS_Edge& E,const TopoDS_Face& F,const Standard_Real First,const Standard_Real Last) const; //! Add to the geometric representations of
//! .
Standard_EXPORT void Transfert(const TopoDS_Edge& Ein,const TopoDS_Edge& Eout) const; //! Makes an udefined vertex without geometry.
void MakeVertex(TopoDS_Vertex& V) const; //! Makes a vertex from a 3D point.
void MakeVertex(TopoDS_Vertex& V,const gp_Pnt& P,const Standard_Real Tol) const; //! Sets a 3D point on the vertex.
Standard_EXPORT void UpdateVertex(const TopoDS_Vertex& V,const gp_Pnt& P,const Standard_Real Tol) const; //! Sets the parameter for the vertex on the edge
//! curves.
Standard_EXPORT void UpdateVertex(const TopoDS_Vertex& V,const Standard_Real P,const TopoDS_Edge& E,const Standard_Real Tol) const; //! Sets the parameter for the vertex on the edge
//! pcurve on the face.
void UpdateVertex(const TopoDS_Vertex& V,const Standard_Real P,const TopoDS_Edge& E,const TopoDS_Face& F,const Standard_Real Tol) const; //! Sets the parameter for the vertex on the edge
//! pcurve on the surface.
Standard_EXPORT void UpdateVertex(const TopoDS_Vertex& V,const Standard_Real P,const TopoDS_Edge& E,const Handle(Geom_Surface)& S,const TopLoc_Location& L,const Standard_Real Tol) const; //! Sets the parameters for the vertex on the face.
Standard_EXPORT void UpdateVertex(const TopoDS_Vertex& Ve,const Standard_Real U,const Standard_Real V,const TopoDS_Face& F,const Standard_Real Tol) const; //! Updates the vertex tolerance.
Standard_EXPORT void UpdateVertex(const TopoDS_Vertex& V,const Standard_Real Tol) const; //! Transfert the parameters of Vin on Ein as the
//! parameter of Vout on Eout.
Standard_EXPORT void Transfert(const TopoDS_Edge& Ein,const TopoDS_Edge& Eout,const TopoDS_Vertex& Vin,const TopoDS_Vertex& Vout) const; protected: private: }; #include // other Inline functions and methods (like "C++: function call" methods) #endif