#include <ShapeConstruct_ProjectCurveOnSurface.hxx>
Public Member Functions | |
Standard_EXPORT | ShapeConstruct_ProjectCurveOnSurface () |
Empty constructor. . | |
virtual Standard_EXPORT void | Init (const Handle(Geom_Surface)&surf, const Standard_Real preci) |
Initializes the object with all necessary parameters, i.e. surface and precision . | |
virtual Standard_EXPORT void | Init (const Handle(ShapeAnalysis_Surface)&surf, const Standard_Real preci) |
Initializes the object with all necessary parameters, i.e. surface and precision . | |
Standard_EXPORT void | SetSurface (const Handle(Geom_Surface)&surf) |
Loads a surface (in the form of Geom_Surface) to project on . | |
Standard_EXPORT void | SetSurface (const Handle(ShapeAnalysis_Surface)&surf) |
Loads a surface (in the form of ShapeAnalysis_Surface) to project on . | |
Standard_EXPORT void | SetPrecision (const Standard_Real preci) |
Sets value for current precision . | |
Standard_EXPORT Standard_Boolean & | BuildCurveMode () |
Returns (modifiable) the build-curve-3d mode, by default False If True, if the projected curve has been recomputed by interpolation, the 3d curve is also rebuild by interpolation . | |
Standard_EXPORT Standard_Integer & | AdjustOverDegenMode () |
Returns (modifiable) the flag specifying to which side of parametrical space adjust part of pcurve which lies on seam. This is required in very rare case when 3d curve which is to be projected goes partly along the seam on the closed surface with singularity (e.g. sphere), goes through the degenerated point and paerly lies on internal area of surface. . | |
Standard_EXPORT Standard_Boolean | Status (const ShapeExtend_Status Status) const |
Returns the status of last Peform . | |
virtual Standard_EXPORT Standard_Boolean | Perform (Handle(Geom_Curve)&c3d, const Standard_Real First, const Standard_Real Last, Handle(Geom2d_Curve)&c2d, const GeomAbs_Shape continuity=GeomAbs_C1, const Standard_Integer maxdeg=12, const Standard_Integer nbinterval=-1) |
Computes the projection of 3d curve onto a surface using the standard algorithm from ProjLib. Returns False if standard projector fails or raises an exception or cuts the curve by parametrical bounds of the surface. Else, if pcurve computed successfully, returns True. The continuity, maxdeg and nbinterval are parameters of call to Approx_CurveOnSurface. If nbinterval is equal to -1 (default), this value is computed depending on source 3d curve and surface. . | |
Standard_EXPORT Standard_Boolean | PerformByProjLib (Handle(Geom_Curve)&c3d, const Standard_Real First, const Standard_Real Last, Handle(Geom2d_Curve)&c2d, const GeomAbs_Shape continuity=GeomAbs_C1, const Standard_Integer maxdeg=12, const Standard_Integer nbinterval=-1) |
Computes the projection of 3d curve onto a surface using the standard algorithm from ProjLib. Returns False if standard projector fails or raises an exception or cuts the curve by parametrical bounds of the surface. Else, if pcurve computed successfully, returns True. The continuity, maxdeg and nbinterval are parameters of call to Approx_CurveOnSurface. If nbinterval is equal to -1 (default), this value is computed depending on source 3d curve and surface. . | |
Standard_EXPORT Standard_Boolean | PerformAdvanced (Handle(Geom_Curve)&c3d, const Standard_Real First, const Standard_Real Last, Handle(Geom2d_Curve)&c2d) |
Computes the projection of 3d curve onto a surface using either standard projector (method PerformByStandard()) or internal one (method Perform()). The selection is done by analyzing the surface and 3d curve and is aimed to filter the cases potentially dangerous for the standard projector. If the standard projector fails, internal one is used. . | |
Standard_EXPORT const | Handle (Standard_Type)&DynamicType() const |
Protected Attributes | |
Handle_ShapeAnalysis_Surface | mySurf |
Standard_Real | myPreci |
Standard_Boolean | myBuild |
Standard_Integer | myStatus |
Standard_Integer | myAdjustOverDegen |
Standard_Integer | myNbCashe |
gp_Pnt | myCashe3d [2] |
gp_Pnt2d | myCashe2d [2] |
Private Member Functions | |
Standard_EXPORT Handle_Geom2d_Curve | ProjectAnalytic (const Handle(Geom_Curve)&c3d) const |
Standard_EXPORT Standard_Boolean | ApproxPCurve (const Standard_Integer nbrPnt, const TColgp_Array1OfPnt &points, const TColStd_Array1OfReal ¶ms, TColgp_Array1OfPnt2d &points2d, Handle(Geom2d_Curve)&c2d) |
Standard_EXPORT Handle_Geom2d_Curve | InterpolatePCurve (const Standard_Integer nbrPnt, Handle(TColgp_HArray1OfPnt2d)&points2d, Handle(TColStd_HArray1OfReal)¶ms, const Handle(Geom_Curve)&orig) const |
Standard_EXPORT Handle_Geom2d_Curve | ApproximatePCurve (const Standard_Integer nbrPnt, Handle(TColgp_HArray1OfPnt2d)&points2d, Handle(TColStd_HArray1OfReal)¶ms, const Handle(Geom_Curve)&orig) const |
Standard_EXPORT Handle_Geom_Curve | InterpolateCurve3d (const Standard_Integer nbrPnt, Handle(TColgp_HArray1OfPnt)&points, Handle(TColStd_HArray1OfReal)¶ms, const Handle(Geom_Curve)&orig) const |
Standard_EXPORT void | CheckPoints (Handle(TColgp_HArray1OfPnt)&points, Handle(TColStd_HArray1OfReal)¶ms, Standard_Real &preci) const |
Standard_EXPORT void | CheckPoints2d (Handle(TColgp_HArray1OfPnt2d)&points, Handle(TColStd_HArray1OfReal)¶ms, Standard_Real &preci) const |
Standard_EXPORT Standard_Boolean | IsAnIsoparametric (const Standard_Integer nbrPnt, const TColgp_Array1OfPnt &points, const TColStd_Array1OfReal ¶ms, Standard_Boolean &isoTypeU, Standard_Boolean &p1OnIso, gp_Pnt2d &valueP1, Standard_Boolean &p2OnIso, gp_Pnt2d &valueP2, Standard_Boolean &isoPar2d3d, Handle(Geom_Curve)&cIso, Standard_Real &t1, Standard_Real &t2, TColStd_Array1OfReal &pout) const |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|