// 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_Tool_HeaderFile #define _BRep_Tool_HeaderFile #ifndef _Standard_HeaderFile #include #endif #ifndef _Standard_Macro_HeaderFile #include #endif #ifndef _Standard_Boolean_HeaderFile #include #endif #ifndef _Handle_Geom_Surface_HeaderFile #include #endif #ifndef _Handle_Poly_Triangulation_HeaderFile #include #endif #ifndef _Standard_Real_HeaderFile #include #endif #ifndef _Handle_Geom_Curve_HeaderFile #include #endif #ifndef _Handle_Poly_Polygon3D_HeaderFile #include #endif #ifndef _Handle_Geom2d_Curve_HeaderFile #include #endif #ifndef _Standard_Integer_HeaderFile #include #endif #ifndef _Handle_Poly_Polygon2D_HeaderFile #include #endif #ifndef _Handle_Poly_PolygonOnTriangulation_HeaderFile #include #endif #ifndef _GeomAbs_Shape_HeaderFile #include #endif class Standard_NullObject; class Standard_NoSuchObject; class TopoDS_Shape; class Geom_Surface; class TopoDS_Face; class TopLoc_Location; class Poly_Triangulation; class TopoDS_Edge; class Geom_Curve; class Poly_Polygon3D; class Geom2d_Curve; class Poly_Polygon2D; class Poly_PolygonOnTriangulation; class gp_Pnt2d; class gp_Pnt; class TopoDS_Vertex; //! Provides class methods to access to the geometry
//! of BRep shapes.
class BRep_Tool { 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); } //! Returns if S if flaged Closed, if S is a
//! Solid,Shell or Compound returns is S has no free boundaries.
Standard_EXPORT static Standard_Boolean IsClosed(const TopoDS_Shape& S) ; //! Returns the geometric surface of the face. Returns
//! in the location for the surface.
Standard_EXPORT static const Handle_Geom_Surface& Surface(const TopoDS_Face& F,TopLoc_Location& L) ; //! Returns the geometric surface of the face. It can
//! be a copy if there is a Location.
//!
Standard_EXPORT static Handle_Geom_Surface Surface(const TopoDS_Face& F) ; //! Returns the Triangulation of the face. It is a
//! null handle if there is no triangulation.
//!
Standard_EXPORT static const Handle_Poly_Triangulation& Triangulation(const TopoDS_Face& F,TopLoc_Location& L) ; //! Returns the tolerance of the face.
Standard_EXPORT static Standard_Real Tolerance(const TopoDS_Face& F) ; //! Returns the NaturalRestriction flag of the face.
Standard_EXPORT static Standard_Boolean NaturalRestriction(const TopoDS_Face& F) ; //! Returns True if is a 3d curve or a curve on
//! surface.
Standard_EXPORT static Standard_Boolean IsGeometric(const TopoDS_Edge& E) ; //! Returns the 3D curve of the edge. May be a Null
//! handle. Returns in the location for the curve.
//! In and the parameter range.
//!
Standard_EXPORT static const Handle_Geom_Curve& Curve(const TopoDS_Edge& E,TopLoc_Location& L,Standard_Real& First,Standard_Real& Last) ; //! Returns the 3D curve of the edge. May be a Null handle.
//! In and the parameter range.
//! It can be a copy if there is a Location.
Standard_EXPORT static Handle_Geom_Curve Curve(const TopoDS_Edge& E,Standard_Real& First,Standard_Real& Last) ; //! Returns the 3D polygon of the edge. May be a Null
//! handle. Returns in the location for the polygon.
//!
Standard_EXPORT static const Handle_Poly_Polygon3D& Polygon3D(const TopoDS_Edge& E,TopLoc_Location& L) ; //! Returns the curve associated to the edge in the
//! parametric space of the face. Returns a NULL
//! handle if this curve does not exist. Returns in
//! and the parameter range.
Standard_EXPORT static Handle_Geom2d_Curve CurveOnSurface(const TopoDS_Edge& E,const TopoDS_Face& F,Standard_Real& First,Standard_Real& Last) ; //! Returns the curve associated to the edge in the
//! parametric space of the surface. Returns a NULL
//! handle if this curve does not exist. Returns in
//! and the parameter range.
Standard_EXPORT static Handle_Geom2d_Curve CurveOnSurface(const TopoDS_Edge& E,const Handle(Geom_Surface)& S,const TopLoc_Location& L,Standard_Real& First,Standard_Real& Last) ; //! Returns in , , a 2d curve, a surface and
//! a location for the edge . and are null
//! if the edge has no curve on surface. Returns in
//! and the parameter range.
Standard_EXPORT static void CurveOnSurface(const TopoDS_Edge& E,Handle(Geom2d_Curve)& C,Handle(Geom_Surface)& S,TopLoc_Location& L,Standard_Real& First,Standard_Real& Last) ; //! Returns in , , the 2d curve, the surface
//! and the location for the edge of rank .
//! and are null if the index is out of range.
//! Returns in and the parameter range.
Standard_EXPORT static void CurveOnSurface(const TopoDS_Edge& E,Handle(Geom2d_Curve)& C,Handle(Geom_Surface)& S,TopLoc_Location& L,Standard_Real& First,Standard_Real& Last,const Standard_Integer Index) ; //! Returns the polygon associated to the edge in the
//! parametric space of the face. Returns a NULL
//! handle if this polygon does not exist.
Standard_EXPORT static Handle_Poly_Polygon2D PolygonOnSurface(const TopoDS_Edge& E,const TopoDS_Face& F) ; //! Returns the polygon associated to the edge in the
//! parametric space of the surface. Returns a NULL
//! handle if this polygon does not exist.
Standard_EXPORT static Handle_Poly_Polygon2D PolygonOnSurface(const TopoDS_Edge& E,const Handle(Geom_Surface)& S,const TopLoc_Location& L) ; //! Returns in , , a 2d curve, a surface and
//! a location for the edge . and are null
//! if the edge has no polygon on surface.
Standard_EXPORT static void PolygonOnSurface(const TopoDS_Edge& E,Handle(Poly_Polygon2D)& C,Handle(Geom_Surface)& S,TopLoc_Location& L) ; //! Returns in , , the 2d curve, the surface
//! and the location for the edge of rank .
//! and are null if the index is out of range.
Standard_EXPORT static void PolygonOnSurface(const TopoDS_Edge& E,Handle(Poly_Polygon2D)& C,Handle(Geom_Surface)& S,TopLoc_Location& L,const Standard_Integer Index) ; //! Returns the polygon associated to the edge in the
//! parametric space of the face. Returns a NULL
//! handle if this polygon does not exist.
Standard_EXPORT static const Handle_Poly_PolygonOnTriangulation& PolygonOnTriangulation(const TopoDS_Edge& E,const Handle(Poly_Triangulation)& T,const TopLoc_Location& L) ; //! Returns in

, , a polygon on triangulation, a
//! triangulation and a location for the edge .
//!

and are null if the edge has no
//! polygon on triangulation.
Standard_EXPORT static void PolygonOnTriangulation(const TopoDS_Edge& E,Handle(Poly_PolygonOnTriangulation)& P,Handle(Poly_Triangulation)& T,TopLoc_Location& L) ; //! Returns in

, , a polygon on
//! triangulation, a triangulation and a location for
//! the edge for the range index. and are
//! null if the edge has no polygon on triangulation.
Standard_EXPORT static void PolygonOnTriangulation(const TopoDS_Edge& E,Handle(Poly_PolygonOnTriangulation)& P,Handle(Poly_Triangulation)& T,TopLoc_Location& L,const Standard_Integer Index) ; //! Returns True if has two PCurves in the
//! parametric space of . i.e. is on a closed
//! surface and is on the closing curve.
//!
Standard_EXPORT static Standard_Boolean IsClosed(const TopoDS_Edge& E,const TopoDS_Face& F) ; //! Returns True if has two PCurves in the
//! parametric space of . i.e. is a closed
//! surface and is on the closing curve.
//!
Standard_EXPORT static Standard_Boolean IsClosed(const TopoDS_Edge& E,const Handle(Geom_Surface)& S,const TopLoc_Location& L) ; //! Returns True if has two arrays of indices in
//! the triangulation .
Standard_EXPORT static Standard_Boolean IsClosed(const TopoDS_Edge& E,const Handle(Poly_Triangulation)& T) ; //! Returns the tolerance for .
Standard_EXPORT static Standard_Real Tolerance(const TopoDS_Edge& E) ; //! Returns the SameParameter flag for the edge.
Standard_EXPORT static Standard_Boolean SameParameter(const TopoDS_Edge& E) ; //! Returns the SameRange flag for the edge.
Standard_EXPORT static Standard_Boolean SameRange(const TopoDS_Edge& E) ; //! Returns True if the edge is degenerated.
Standard_EXPORT static Standard_Boolean Degenerated(const TopoDS_Edge& E) ; //! Gets the range of the 3d curve.
Standard_EXPORT static void Range(const TopoDS_Edge& E,Standard_Real& First,Standard_Real& Last) ; //! Gets the range of the edge on the pcurve on the
//! surface.
Standard_EXPORT static void Range(const TopoDS_Edge& E,const Handle(Geom_Surface)& S,const TopLoc_Location& L,Standard_Real& First,Standard_Real& Last) ; //! Gets the range of the edge on the pcurve on the face.
Standard_EXPORT static void Range(const TopoDS_Edge& E,const TopoDS_Face& F,Standard_Real& First,Standard_Real& Last) ; //! Gets the UV locations of the extremities of the edge.
Standard_EXPORT static void UVPoints(const TopoDS_Edge& E,const Handle(Geom_Surface)& S,const TopLoc_Location& L,gp_Pnt2d& PFirst,gp_Pnt2d& PLast) ; //! Gets the UV locations of the extremities of the edge.
Standard_EXPORT static void UVPoints(const TopoDS_Edge& E,const TopoDS_Face& F,gp_Pnt2d& PFirst,gp_Pnt2d& PLast) ; //! Sets the UV locations of the extremities of the edge.
Standard_EXPORT static void SetUVPoints(const TopoDS_Edge& E,const Handle(Geom_Surface)& S,const TopLoc_Location& L,const gp_Pnt2d& PFirst,const gp_Pnt2d& PLast) ; //! Sets the UV locations of the extremities of the edge.
Standard_EXPORT static void SetUVPoints(const TopoDS_Edge& E,const TopoDS_Face& F,const gp_Pnt2d& PFirst,const gp_Pnt2d& PLast) ; //! Returns True if the edge is on the surfaces of the
//! two faces.
Standard_EXPORT static Standard_Boolean HasContinuity(const TopoDS_Edge& E,const TopoDS_Face& F1,const TopoDS_Face& F2) ; //! Returns the continuity.
Standard_EXPORT static GeomAbs_Shape Continuity(const TopoDS_Edge& E,const TopoDS_Face& F1,const TopoDS_Face& F2) ; //! Returns True if the edge is on the surfaces.
Standard_EXPORT static Standard_Boolean HasContinuity(const TopoDS_Edge& E,const Handle(Geom_Surface)& S1,const Handle(Geom_Surface)& S2,const TopLoc_Location& L1,const TopLoc_Location& L2) ; //! Returns the continuity.
Standard_EXPORT static GeomAbs_Shape Continuity(const TopoDS_Edge& E,const Handle(Geom_Surface)& S1,const Handle(Geom_Surface)& S2,const TopLoc_Location& L1,const TopLoc_Location& L2) ; //! Returns the 3d point.
Standard_EXPORT static gp_Pnt Pnt(const TopoDS_Vertex& V) ; //! Returns the tolerance.
Standard_EXPORT static Standard_Real Tolerance(const TopoDS_Vertex& V) ; //! Returns the parameter of on .
Standard_EXPORT static Standard_Real Parameter(const TopoDS_Vertex& V,const TopoDS_Edge& E) ; //! Returns the parameters of the vertex on the
//! pcurve of the edge on the face.
Standard_EXPORT static Standard_Real Parameter(const TopoDS_Vertex& V,const TopoDS_Edge& E,const TopoDS_Face& F) ; //! Returns the parameters of the vertex on the
//! pcurve of the edge on the surface.
Standard_EXPORT static Standard_Real Parameter(const TopoDS_Vertex& V,const TopoDS_Edge& E,const Handle(Geom_Surface)& S,const TopLoc_Location& L) ; //! Returns the parameters of the vertex on the face.
Standard_EXPORT static gp_Pnt2d Parameters(const TopoDS_Vertex& V,const TopoDS_Face& F) ; protected: private: }; // other Inline functions and methods (like "C++: function call" methods) #endif