0025547: static class mehtods not exported in BrepMesh_GeomTool
[occt.git] / src / BRepMesh / BRepMesh_GeomTool.hxx
index 4887246..a2b45e4 100644 (file)
@@ -28,7 +28,11 @@ class gp_Pnt;
 class gp_Pnt2d;
 class gp_Dir;
 
-//! Tool class intended to obtain parameters based on shape geometry.
+//! Tool class accumulating common geometrical functions as well as 
+//! functionality using shape geometry to produce data necessary for 
+//! tessellation.
+//! General aim is to calculate discretization points for the given
+//! curve or iso curve of surface according to the specified parameters.
 class BRepMesh_GeomTool
 {
 public:
@@ -131,17 +135,20 @@ public:
   
 public: //! @name static API
 
-  //! @param theSurface surface the nomal should be found for.
+  //! Computes normal to the given surface at the specified
+  //! position in parametric space.
+  //! @param theSurface surface the normal should be found for.
   //! @param theParamU U parameter in parametric space of the surface.
   //! @param theParamV V parameter in parametric space of the surface.
   //! @param[out] thePoint 3d point corresponding to the given parameters.
   //! @param[out] theNormal normal vector at the point specified by the parameters.
   //! @return FALSE if the normal can not be computed, TRUE elsewhere.
-  static Standard_Boolean Normal(const Handle(BRepAdaptor_HSurface)& theSurface,
-                                 const Standard_Real                 theParamU,
-                                 const Standard_Real                 theParamV,
-                                 gp_Pnt&                             thePoint,
-                                 gp_Dir&                             theNormal);
+  Standard_EXPORT static Standard_Boolean Normal(
+    const Handle(BRepAdaptor_HSurface)& theSurface,
+    const Standard_Real                 theParamU,
+    const Standard_Real                 theParamV,
+    gp_Pnt&                             thePoint,
+    gp_Dir&                             theNormal);
 
   //! Checks intersection between two lines defined by two points.
   //! @param theStartPnt1 start point of first line.
@@ -152,12 +159,13 @@ public: //! @name static API
   //! @param[out] theParamOnSegment parameters of intersection point 
   //! corresponding to first and second segment.
   //! @return status of intersection check.
-  static IntFlag IntLinLin(const gp_XY&  theStartPnt1,
-                           const gp_XY&  theEndPnt1,
-                           const gp_XY&  theStartPnt2,
-                           const gp_XY&  theEndPnt2,
-                           gp_XY&        theIntPnt,
-                           Standard_Real (&theParamOnSegment)[2]);
+  Standard_EXPORT static IntFlag IntLinLin(
+    const gp_XY&  theStartPnt1,
+    const gp_XY&  theEndPnt1,
+    const gp_XY&  theStartPnt2,
+    const gp_XY&  theEndPnt2,
+    gp_XY&        theIntPnt,
+    Standard_Real (&theParamOnSegment)[2]);
 
   //! Checks intersection between the two segments. 
   //! Checks that intersection point lies within ranges of both segments.
@@ -173,13 +181,14 @@ public: //! @name static API
   //! if FALSE returns NoIntersection flag.
   //! @param[out] theIntPnt point of intersection.
   //! @return status of intersection check.
-  static IntFlag IntSegSeg(const gp_XY&           theStartPnt1,
-                           const gp_XY&           theEndPnt1,
-                           const gp_XY&           theStartPnt2,
-                           const gp_XY&           theEndPnt2,
-                           const Standard_Boolean isConsiderEndPointTouch,
-                           const Standard_Boolean isConsiderPointOnSegment,
-                           gp_Pnt2d&              theIntPnt);
+  Standard_EXPORT static IntFlag IntSegSeg(
+    const gp_XY&           theStartPnt1,
+    const gp_XY&           theEndPnt1,
+    const gp_XY&           theStartPnt2,
+    const gp_XY&           theEndPnt2,
+    const Standard_Boolean isConsiderEndPointTouch,
+    const Standard_Boolean isConsiderPointOnSegment,
+    gp_Pnt2d&              theIntPnt);
 
 private: