#include <GeomPlate_BuildPlateSurface.hxx>
Public Member Functions | |
void * | operator new (size_t, void *anAddress) |
void * | operator new (size_t size) |
void | operator delete (void *anAddress) |
Standard_EXPORT | GeomPlate_BuildPlateSurface (const Handle(TColStd_HArray1OfInteger)&NPoints, const Handle(GeomPlate_HArray1OfHCurveOnSurface)&TabCurve, const Handle(TColStd_HArray1OfInteger)&Tang, const Standard_Integer Degree, const Standard_Integer NbIter=3, const Standard_Real Tol2d=0.00001, const Standard_Real Tol3d=0.0001, const Standard_Real TolAng=0.01, const Standard_Real TolCurv=0.1, const Standard_Boolean Anisotropie=Standard_False) |
Constructor compatible with the old version with this constructor the constraint are given in a Array of Curve on Surface The array NbPoints contains the number of points for each constraint. The Array Tang contains the order of constraint for each Constraint: The possible values for this order has to be -1 , 0 , 1 , 2 . Order i means constraint Gi. NbIter is the maximum number of iteration to optimise the number of points for resolution Degree is the degree of resolution for Plate Tol2d is the tolerance used to test if two points of different constraint are identical in the parametric space of the initial surface Tol3d is used to test if two identical points in the 2d space are identical in 3d space TolAng is used to compare the angle between normal of two identical points in the 2d space Raises ConstructionError; . | |
Standard_EXPORT | GeomPlate_BuildPlateSurface (const Handle(Geom_Surface)&Surf, const Standard_Integer Degree=3, const Standard_Integer NbPtsOnCur=10, const Standard_Integer NbIter=3, const Standard_Real Tol2d=0.00001, const Standard_Real Tol3d=0.0001, const Standard_Real TolAng=0.01, const Standard_Real TolCurv=0.1, const Standard_Boolean Anisotropie=Standard_False) |
Standard_EXPORT | GeomPlate_BuildPlateSurface (const Standard_Integer Degree=3, const Standard_Integer NbPtsOnCur=10, const Standard_Integer NbIter=3, const Standard_Real Tol2d=0.00001, const Standard_Real Tol3d=0.0001, const Standard_Real TolAng=0.01, const Standard_Real TolCurv=0.1, const Standard_Boolean Anisotropie=Standard_False) |
Initializes the BuildPlateSurface framework for deforming plate surfaces using curve and point constraints. You use the first constructor if you have an initial surface to work with at construction time. If not, you use the second. You can add one later by using the method LoadInitSurface. If no initial surface is loaded, one will automatically be computed. The curve and point constraints will be defined by using the method Add. Before the call to the algorithm, the curve constraints will be transformed into sequences of discrete points. Each curve defined as a constraint will be given the value of NbPtsOnCur as the average number of points on it. Several arguments serve to improve performance of the algorithm. NbIter, for example, expresses the number of iterations allowed and is used to control the duration of computation. To optimize resolution, Degree will have the default value of 3. The surface generated must respect several tolerance values: - 2d tolerance given by Tol2d, with a default value of 0.00001 - 3d tolerance expressed by Tol3d, with a default value of 0.0001 - angular tolerance given by TolAng, with a default value of 0.01, defining the greatest angle allowed between the constraint and the target surface. Exceptions Standard_ConstructionError if NbIter is less than 1 or Degree is less than 3. . | |
Standard_EXPORT void | Init () |
Resets all constraints . | |
Standard_EXPORT void | LoadInitSurface (const Handle(Geom_Surface)&Surf) |
Loads the initial Surface . | |
Standard_EXPORT void | Add (const Handle(GeomPlate_CurveConstraint)&Cont) |
Adds the linear constraint cont. . | |
Standard_EXPORT void | SetNbBounds (const Standard_Integer NbBounds) |
Standard_EXPORT void | Add (const Handle(GeomPlate_PointConstraint)&Cont) |
Adds the point constraint cont. . | |
Standard_EXPORT void | Perform () |
Calls the algorithm and computes the plate surface using the loaded constraints. If no initial surface is given, the algorithm automatically computes one. Exceptions Standard_RangeError if the value of the constraint is null or if plate is not done. . | |
Standard_EXPORT Handle_GeomPlate_CurveConstraint | CurveConstraint (const Standard_Integer order) const |
returns the CurveConstraints of order order | |
Standard_EXPORT Handle_GeomPlate_PointConstraint | PointConstraint (const Standard_Integer order) const |
returns the PointConstraint of order order | |
Standard_EXPORT void | Disc2dContour (const Standard_Integer nbp, TColgp_SequenceOfXY &Seq2d) |
Standard_EXPORT void | Disc3dContour (const Standard_Integer nbp, const Standard_Integer iordre, TColgp_SequenceOfXYZ &Seq3d) |
Standard_EXPORT Standard_Boolean | IsDone () const |
Tests whether computation of the plate has been completed. . | |
Standard_EXPORT Handle_GeomPlate_Surface | Surface () const |
Returns the result of the computation. This surface can then be used by GeomPlate_MakeApprox for converting the resulting surface into a BSpline. . | |
Standard_EXPORT Handle_Geom_Surface | SurfInit () const |
Returns the initial surface . | |
Standard_EXPORT Handle_TColStd_HArray1OfInteger | Sense () const |
Allows you to ensure that the array of curves returned by Curves2d has the correct orientation. Returns the orientation of the curves in the the array returned by Curves2d. Computation changes the orientation of these curves. Consequently, this method returns the orientation prior to computation. . | |
Standard_EXPORT Handle_TColGeom2d_HArray1OfCurve | Curves2d () const |
Extracts the array of curves on the plate surface which correspond to the curve constraints set in Add. . | |
Standard_EXPORT Handle_TColStd_HArray1OfInteger | Order () const |
Returns the order of the curves in the array returned by Curves2d. Computation changes this order. Consequently, this method returns the order of the curves prior to computation. . | |
Standard_EXPORT Standard_Real | G0Error () const |
Returns the max distance betwen the result and the constraints . | |
Standard_EXPORT Standard_Real | G1Error () const |
Returns the max angle betwen the result and the constraints . | |
Standard_EXPORT Standard_Real | G2Error () const |
Returns the max difference of curvature betwen the result and the constraints . | |
Standard_EXPORT Standard_Real | G0Error (const Standard_Integer Index) |
Returns the max distance between the result and the constraint Index . | |
Standard_EXPORT Standard_Real | G1Error (const Standard_Integer Index) |
Returns the max angle between the result and the constraint Index . | |
Standard_EXPORT Standard_Real | G2Error (const Standard_Integer Index) |
Returns the max difference of curvature between the result and the constraint Index . | |
Private Member Functions | |
Standard_EXPORT void | EcartContraintesMil (const Standard_Integer c, Handle(TColStd_HArray1OfReal)&d, Handle(TColStd_HArray1OfReal)&an, Handle(TColStd_HArray1OfReal)&courb) |
Evaluates the distance, the angle between normals, and the "courbure" on middle points of contraints an corresponding points on the GeomPlate_Surface the results are given for a curve c . | |
Standard_EXPORT gp_Pnt2d | ProjectPoint (const gp_Pnt &P) |
Standard_EXPORT Handle_Geom2d_Curve | ProjectCurve (const Handle(Adaptor3d_HCurve)&Curv) |
Standard_EXPORT Handle_Adaptor2d_HCurve2d | ProjectedCurve (Handle(Adaptor3d_HCurve)&Curv) |
Standard_EXPORT void | ComputeSurfInit () |
Standard_EXPORT void | Intersect (Handle(GeomPlate_HArray1OfSequenceOfReal)&PntInter, Handle(GeomPlate_HArray1OfSequenceOfReal)&PntG1G1) |
Standard_EXPORT void | Discretise (const Handle(GeomPlate_HArray1OfSequenceOfReal)&PntInter, const Handle(GeomPlate_HArray1OfSequenceOfReal)&PntG1G1) |
Standard_EXPORT void | LoadCurve (const Standard_Integer NbBoucle, const Standard_Integer OrderMax=2) |
Standard_EXPORT void | LoadPoint (const Standard_Integer NbBoucle, const Standard_Integer OrderMax=2) |
Standard_EXPORT void | CalculNbPtsInit () |
Standard_EXPORT Standard_Boolean | VerifSurface (const Standard_Integer NbLoop) |
Standard_EXPORT void | VerifPoints (Standard_Real &dist, Standard_Real &ang, Standard_Real &curv) const |
Standard_EXPORT Standard_Boolean | CourbeJointive (const Standard_Real tolerance) |
Standard_EXPORT Standard_Real | ComputeAnisotropie () const |
Standard_EXPORT Standard_Boolean | IsOrderG1 () const |
Private Attributes | |
Handle_GeomPlate_HSequenceOfCurveConstraint | myLinCont |
Handle_GeomPlate_HArray1OfSequenceOfReal | myParCont |
Handle_GeomPlate_HArray1OfSequenceOfReal | myPlateCont |
Handle_GeomPlate_HSequenceOfPointConstraint | myPntCont |
Handle_Geom_Surface | mySurfInit |
Handle_Geom_Surface | myPlanarSurfInit |
Handle_GeomPlate_Surface | myGeomPlateSurface |
Plate_Plate | myPlate |
Plate_Plate | myPrevPlate |
Standard_Boolean | myAnisotropie |
Handle_TColStd_HArray1OfInteger | mySense |
Standard_Integer | myDegree |
Handle_TColStd_HArray1OfInteger | myInitOrder |
Standard_Real | myG0Error |
Standard_Real | myG1Error |
Standard_Real | myG2Error |
Standard_Integer | myNbPtsOnCur |
Standard_Boolean | mySurfInitIsPlane |
Standard_Boolean | mySurfInitIsGive |
Standard_Integer | myNbIter |
Extrema_ExtPS | myProj |
Standard_Real | myTol2d |
Standard_Real | myTol3d |
Standard_Real | myTolAng |
Standard_Real | myTolCurv |
Standard_Real | myTolU |
Standard_Real | myTolV |
Standard_Integer | myNbBounds |
Standard_Boolean | myIsLinear |
Standard_Boolean | myFree |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|