Open CASCADE Technology  6.5.4
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Public Member Functions
ShapeCustom_BSplineRestriction Class Reference

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>

Inheritance diagram for ShapeCustom_BSplineRestriction:
Inheritance graph
[legend]

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
support of the edge, <L> the new location, <Tol>
the new tolerance.
Otherwise, returns Standard_True if Surface is modified or
one of pcurves of edge is modified. In this case C is copy of
geometric support of the edge.
In other cases returns Standard_False, and , <L>, <Tol> are not
significant.

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,
is the new geometric support of the edge, <L> the
new location, <Tol> the new tolerance. If curve on the surface
is not modified C is copy curve on surface from the edge <E>.

Otherwise, returns Standard_False, and , <L>,
<Tol> are not significant.

<NewE> is the new edge created from <E>. <NewF>
is the new face created from <F>. They may be usefull.

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_BooleanModifyApproxSurfaceFlag ()
 Returns (modifiable) the flag which defines whether the
surface is aproximated.

Standard_BooleanModifyApproxCurve3dFlag ()
 Returns (modifiable) the flag which defines whether the
curve3d is aproximated.

Standard_BooleanModifyApproxCurve2dFlag ()
 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.


Constructor & Destructor Documentation

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 
)

Member Function Documentation

Handle_ShapeCustom_RestrictionParameters ShapeCustom_BSplineRestriction::GetRestrictionParameters ( ) const
  • P is the parameter, and
  • Tol is the new tolerance.
    If there is no new parameter this function returns
    false, and the values of P and Tol are not significant.

Implements BRepTools_Modification.

  • P is the new geometry of the vertex, and
  • Tol is the new tolerance.
    If the vertex has not been modified this function
    returns false, and the values of P and Tol are not significant.

Implements BRepTools_Modification.


The documentation for this class was generated from the following file: