Open CASCADE Technology 6.6.0
|
this tool intended for aproximation surfaces, curves and pcurves with
specified degree , max number of segments, tolerance 2d, tolerance 3d. Specified
continuity can be reduced if approximation with specified continuity was not done.
#include <ShapeCustom_BSplineRestriction.hxx>
Public Member Functions | |
ShapeCustom_BSplineRestriction () | |
Empty constructor. | |
ShapeCustom_BSplineRestriction (const Standard_Boolean anApproxSurfaceFlag, const Standard_Boolean anApproxCurve3dFlag, const Standard_Boolean anApproxCurve2dFlag, const Standard_Real aTol3d, const Standard_Real aTol2d, const GeomAbs_Shape aContinuity3d, const GeomAbs_Shape aContinuity2d, const Standard_Integer aMaxDegree, const Standard_Integer aNbMaxSeg, const Standard_Boolean Degree, const Standard_Boolean Rational) | |
Initializes with specified parameters of aproximation. | |
ShapeCustom_BSplineRestriction (const Standard_Boolean anApproxSurfaceFlag, const Standard_Boolean anApproxCurve3dFlag, const Standard_Boolean anApproxCurve2dFlag, const Standard_Real aTol3d, const Standard_Real aTol2d, const GeomAbs_Shape aContinuity3d, const GeomAbs_Shape aContinuity2d, const Standard_Integer aMaxDegree, const Standard_Integer aNbMaxSeg, const Standard_Boolean Degree, const Standard_Boolean Rational, const Handle< ShapeCustom_RestrictionParameters > &aModes) | |
Initializes with specified parameters of aproximation. | |
Standard_Boolean | NewSurface (const TopoDS_Face &F, Handle< Geom_Surface > &S, TopLoc_Location &L, Standard_Real &Tol, Standard_Boolean &RevWires, Standard_Boolean &RevFace) |
Returns Standard_True if the face <F> has been modified. In this case, <S> is the new geometric support of the face, <L> the new location,<Tol> the new tolerance.<RevWires> has to be set to Standard_True when the modification reverses the normal of the surface.(the wires have to be reversed). <RevFace> has to be set to Standard_True if the orientation of the modified face changes in the shells which contain it. Otherwise, returns Standard_False, and <S>, <L>, <Tol> , <RevWires> ,<RevFace> are not significant. | |
Standard_Boolean | NewCurve (const TopoDS_Edge &E, Handle< Geom_Curve > &C, TopLoc_Location &L, Standard_Real &Tol) |
Returns Standard_True if curve from the edge <E> has been modified. In this case, is the new geometric | |
Standard_Boolean | NewCurve2d (const TopoDS_Edge &E, const TopoDS_Face &F, const TopoDS_Edge &NewE, const TopoDS_Face &NewF, Handle< Geom2d_Curve > &C, Standard_Real &Tol) |
Returns Standard_True if the edge <E> has been modified. In this case,if curve on the surface is modified, | |
Standard_Boolean | ConvertSurface (const Handle< Geom_Surface > &aSurface, Handle< Geom_Surface > &S, const Standard_Real UF, const Standard_Real UL, const Standard_Real VF, const Standard_Real VL, const Standard_Boolean IsOf=Standard_True) |
Returns Standard_True if the surface has been modified. if flag IsOf equals Standard_True Offset surfaces are aproximated to Offset if Standard_False to BSpline | |
Standard_Boolean | ConvertCurve (Handle< Geom_Curve > &aCurve, Handle< Geom_Curve > &C, const Standard_Boolean IsConvert, const Standard_Real First, const Standard_Real Last, Standard_Real &TolCur, const Standard_Boolean IsOf=Standard_True) |
Returns Standard_True if the curve has been modified. if flag IsOf equals Standard_True Offset curves are aproximated to Offset if Standard_False to BSpline | |
Standard_Boolean | ConvertCurve2d (Handle< Geom2d_Curve > &aCurve, Handle< Geom2d_Curve > &C, const Standard_Boolean IsConvert, const Standard_Real First, const Standard_Real Last, Standard_Real &TolCur, const Standard_Boolean IsOf=Standard_True) |
Returns Standard_True if the pcurve has been modified. if flag IsOf equals Standard_True Offset pcurves are aproximated to Offset if Standard_False to BSpline | |
void | SetTol3d (const Standard_Real Tol3d) |
Sets tolerance of aproximation for curve3d and surface | |
void | SetTol2d (const Standard_Real Tol2d) |
Sets tolerance of aproximation for curve2d | |
Standard_Boolean & | ModifyApproxSurfaceFlag () |
Returns (modifiable) the flag which defines whether the surface is aproximated. | |
Standard_Boolean & | ModifyApproxCurve3dFlag () |
Returns (modifiable) the flag which defines whether the curve3d is aproximated. | |
Standard_Boolean & | ModifyApproxCurve2dFlag () |
Returns (modifiable) the flag which defines whether the curve2d is aproximated. | |
void | SetContinuity3d (const GeomAbs_Shape Continuity3d) |
Sets continuity3d for aproximation curve3d and surface. | |
void | SetContinuity2d (const GeomAbs_Shape Continuity2d) |
Sets continuity3d for aproximation curve2d. | |
void | SetMaxDegree (const Standard_Integer MaxDegree) |
Sets max degree for aproximation. | |
void | SetMaxNbSegments (const Standard_Integer MaxNbSegments) |
Sets max number of segments for aproximation. | |
void | SetPriority (const Standard_Boolean Degree) |
Sets priority for aproximation curves and surface. If Degree is True approximation is made with degree less then specified MaxDegree at the expense of number of spanes. If Degree is False approximation is made with number of spans less then specified MaxNbSegment at the expense of specified MaxDegree. | |
void | SetConvRational (const Standard_Boolean Rational) |
Sets flag for define if rational BSpline or Bezier is converted to polynomial. If Rational is True approximation for rational BSpline and Bezier is made to polynomial even if degree is less then MaxDegree and number of spans is less then specified MaxNbSegment. | |
Handle_ShapeCustom_RestrictionParameters | GetRestrictionParameters () const |
Returns the container of modes which defines what geometry should be converted to BSplines. | |
void | SetRestrictionParameters (const Handle< ShapeCustom_RestrictionParameters > &aModes) |
Sets the container of modes which defines what geometry should be converted to BSplines. | |
Standard_Real | Curve3dError () const |
Returns error for aproximation curve3d. | |
Standard_Real | Curve2dError () const |
Returns error for aproximation curve2d. | |
Standard_Real | SurfaceError () const |
Returns error for aproximation surface. | |
Standard_Boolean | NewPoint (const TopoDS_Vertex &V, gp_Pnt &P, Standard_Real &Tol) |
Returns true if the vertex V has been modified. If V has been modified: | |
Standard_Boolean | NewParameter (const TopoDS_Vertex &V, const TopoDS_Edge &E, Standard_Real &P, Standard_Real &Tol) |
Returns true if the vertex V has a new parameter on the edge E. If a new parameter exists: | |
GeomAbs_Shape | Continuity (const TopoDS_Edge &E, const TopoDS_Face &F1, const TopoDS_Face &F2, const TopoDS_Edge &NewE, const TopoDS_Face &NewF1, const TopoDS_Face &NewF2) |
Returns the continuity of <NewE> between <NewF1> and <NewF2>. <NewE> is the new edge created from <E>. <NewF1> (resp. <NewF2>) is the new face created from <F1> (resp. <F2>). | |
Standard_Real | MaxErrors (Standard_Real &aCurve3dErr, Standard_Real &aCurve2dErr) const |
Returns error for aproximation surface, curve3d and curve2d. | |
Standard_Integer | NbOfSpan () const |
Returns number for aproximation surface, curve3d and curve2d. |
ShapeCustom_BSplineRestriction::ShapeCustom_BSplineRestriction | ( | ) |
ShapeCustom_BSplineRestriction::ShapeCustom_BSplineRestriction | ( | const Standard_Boolean | anApproxSurfaceFlag, |
const Standard_Boolean | anApproxCurve3dFlag, | ||
const Standard_Boolean | anApproxCurve2dFlag, | ||
const Standard_Real | aTol3d, | ||
const Standard_Real | aTol2d, | ||
const GeomAbs_Shape | aContinuity3d, | ||
const GeomAbs_Shape | aContinuity2d, | ||
const Standard_Integer | aMaxDegree, | ||
const Standard_Integer | aNbMaxSeg, | ||
const Standard_Boolean | Degree, | ||
const Standard_Boolean | Rational | ||
) |
ShapeCustom_BSplineRestriction::ShapeCustom_BSplineRestriction | ( | const Standard_Boolean | anApproxSurfaceFlag, |
const Standard_Boolean | anApproxCurve3dFlag, | ||
const Standard_Boolean | anApproxCurve2dFlag, | ||
const Standard_Real | aTol3d, | ||
const Standard_Real | aTol2d, | ||
const GeomAbs_Shape | aContinuity3d, | ||
const GeomAbs_Shape | aContinuity2d, | ||
const Standard_Integer | aMaxDegree, | ||
const Standard_Integer | aNbMaxSeg, | ||
const Standard_Boolean | Degree, | ||
const Standard_Boolean | Rational, | ||
const Handle< ShapeCustom_RestrictionParameters > & | aModes | ||
) |
GeomAbs_Shape ShapeCustom_BSplineRestriction::Continuity | ( | const TopoDS_Edge & | E, |
const TopoDS_Face & | F1, | ||
const TopoDS_Face & | F2, | ||
const TopoDS_Edge & | NewE, | ||
const TopoDS_Face & | NewF1, | ||
const TopoDS_Face & | NewF2 | ||
) | [virtual] |
Implements BRepTools_Modification.
Standard_Boolean ShapeCustom_BSplineRestriction::ConvertCurve | ( | Handle< Geom_Curve > & | aCurve, |
Handle< Geom_Curve > & | C, | ||
const Standard_Boolean | IsConvert, | ||
const Standard_Real | First, | ||
const Standard_Real | Last, | ||
Standard_Real & | TolCur, | ||
const Standard_Boolean | IsOf = Standard_True |
||
) |
Standard_Boolean ShapeCustom_BSplineRestriction::ConvertCurve2d | ( | Handle< Geom2d_Curve > & | aCurve, |
Handle< Geom2d_Curve > & | C, | ||
const Standard_Boolean | IsConvert, | ||
const Standard_Real | First, | ||
const Standard_Real | Last, | ||
Standard_Real & | TolCur, | ||
const Standard_Boolean | IsOf = Standard_True |
||
) |
Standard_Boolean ShapeCustom_BSplineRestriction::ConvertSurface | ( | const Handle< Geom_Surface > & | aSurface, |
Handle< Geom_Surface > & | S, | ||
const Standard_Real | UF, | ||
const Standard_Real | UL, | ||
const Standard_Real | VF, | ||
const Standard_Real | VL, | ||
const Standard_Boolean | IsOf = Standard_True |
||
) |
Standard_Real ShapeCustom_BSplineRestriction::Curve2dError | ( | ) | const |
Standard_Real ShapeCustom_BSplineRestriction::Curve3dError | ( | ) | const |
Handle_ShapeCustom_RestrictionParameters ShapeCustom_BSplineRestriction::GetRestrictionParameters | ( | ) | const |
Standard_Real ShapeCustom_BSplineRestriction::MaxErrors | ( | Standard_Real & | aCurve3dErr, |
Standard_Real & | aCurve2dErr | ||
) | const |
Standard_Boolean& ShapeCustom_BSplineRestriction::ModifyApproxCurve2dFlag | ( | ) |
Standard_Boolean& ShapeCustom_BSplineRestriction::ModifyApproxCurve3dFlag | ( | ) |
Standard_Boolean& ShapeCustom_BSplineRestriction::ModifyApproxSurfaceFlag | ( | ) |
Standard_Integer ShapeCustom_BSplineRestriction::NbOfSpan | ( | ) | const |
Standard_Boolean ShapeCustom_BSplineRestriction::NewCurve | ( | const TopoDS_Edge & | E, |
Handle< Geom_Curve > & | C, | ||
TopLoc_Location & | L, | ||
Standard_Real & | Tol | ||
) | [virtual] |
Implements BRepTools_Modification.
Standard_Boolean ShapeCustom_BSplineRestriction::NewCurve2d | ( | const TopoDS_Edge & | E, |
const TopoDS_Face & | F, | ||
const TopoDS_Edge & | NewE, | ||
const TopoDS_Face & | NewF, | ||
Handle< Geom2d_Curve > & | C, | ||
Standard_Real & | Tol | ||
) | [virtual] |
Implements BRepTools_Modification.
Standard_Boolean ShapeCustom_BSplineRestriction::NewParameter | ( | const TopoDS_Vertex & | V, |
const TopoDS_Edge & | E, | ||
Standard_Real & | P, | ||
Standard_Real & | Tol | ||
) | [virtual] |
Implements BRepTools_Modification.
Standard_Boolean ShapeCustom_BSplineRestriction::NewPoint | ( | const TopoDS_Vertex & | V, |
gp_Pnt & | P, | ||
Standard_Real & | Tol | ||
) | [virtual] |
Implements BRepTools_Modification.
Standard_Boolean ShapeCustom_BSplineRestriction::NewSurface | ( | const TopoDS_Face & | F, |
Handle< Geom_Surface > & | S, | ||
TopLoc_Location & | L, | ||
Standard_Real & | Tol, | ||
Standard_Boolean & | RevWires, | ||
Standard_Boolean & | RevFace | ||
) | [virtual] |
Implements BRepTools_Modification.
void ShapeCustom_BSplineRestriction::SetContinuity2d | ( | const GeomAbs_Shape | Continuity2d | ) |
void ShapeCustom_BSplineRestriction::SetContinuity3d | ( | const GeomAbs_Shape | Continuity3d | ) |
void ShapeCustom_BSplineRestriction::SetConvRational | ( | const Standard_Boolean | Rational | ) |
void ShapeCustom_BSplineRestriction::SetMaxDegree | ( | const Standard_Integer | MaxDegree | ) |
void ShapeCustom_BSplineRestriction::SetMaxNbSegments | ( | const Standard_Integer | MaxNbSegments | ) |
void ShapeCustom_BSplineRestriction::SetPriority | ( | const Standard_Boolean | Degree | ) |
void ShapeCustom_BSplineRestriction::SetRestrictionParameters | ( | const Handle< ShapeCustom_RestrictionParameters > & | aModes | ) |
void ShapeCustom_BSplineRestriction::SetTol2d | ( | const Standard_Real | Tol2d | ) |
void ShapeCustom_BSplineRestriction::SetTol3d | ( | const Standard_Real | Tol3d | ) |
Standard_Real ShapeCustom_BSplineRestriction::SurfaceError | ( | ) | const |