Open CASCADE Technology 6.6.0
|
This tool is used for transferring parameters
from 3d curve of the edge to pcurve and vice versa.
Default behaviour is to trsnafer parameters with help
of linear transformation:
T2d = myShift + myScale * T3d
where
myScale = ( Last2d - First2d ) / ( Last3d - First3d )
myShift = First2d - First3d * myScale
[First3d, Last3d] and [First2d, Last2d] are ranges of
edge on curve and pcurve
This behaviour can be redefined in derived classes, for example,
using projection.
#include <ShapeAnalysis_TransferParameters.hxx>
Public Member Functions | |
ShapeAnalysis_TransferParameters () | |
Creates empty tool with myShift = 0 and myScale = 1 | |
ShapeAnalysis_TransferParameters (const TopoDS_Edge &E, const TopoDS_Face &F) | |
Creates a tool and initializes it with edge and face | |
virtual void | Init (const TopoDS_Edge &E, const TopoDS_Face &F) |
Initialize a tool with edge and face | |
void | SetMaxTolerance (const Standard_Real maxtol) |
Sets maximal tolerance to use linear recomputation of parameters. | |
virtual Handle_TColStd_HSequenceOfReal | Perform (const Handle< TColStd_HSequenceOfReal > &Params, const Standard_Boolean To2d) |
Transfers parameters given by sequence Params from 3d curve to pcurve (if To2d is True) or back (if To2d is False) | |
virtual Standard_Real | Perform (const Standard_Real Param, const Standard_Boolean To2d) |
Transfers parameter given by sequence Params from 3d curve to pcurve (if To2d is True) or back (if To2d is False) | |
virtual void | TransferRange (TopoDS_Edge &newEdge, const Standard_Real prevPar, const Standard_Real currPar, const Standard_Boolean To2d) |
Recomputes range of curves from NewEdge. If Is2d equals True parameters are recomputed by curve2d else by curve3d. | |
virtual Standard_Boolean | IsSameRange () const |
Returns True if 3d curve of edge and pcurve are SameRange (in default implementation, if myScale == 1 and myShift == 0) | |
Protected Attributes | |
Standard_Real | myFirst |
Standard_Real | myLast |
TopoDS_Edge | myEdge |
Standard_Real | myMaxTolerance |
ShapeAnalysis_TransferParameters::ShapeAnalysis_TransferParameters | ( | ) |
ShapeAnalysis_TransferParameters::ShapeAnalysis_TransferParameters | ( | const TopoDS_Edge & | E, |
const TopoDS_Face & | F | ||
) |
virtual void ShapeAnalysis_TransferParameters::Init | ( | const TopoDS_Edge & | E, |
const TopoDS_Face & | F | ||
) | [virtual] |
Reimplemented in ShapeAnalysis_TransferParametersProj.
virtual Standard_Boolean ShapeAnalysis_TransferParameters::IsSameRange | ( | ) | const [virtual] |
Reimplemented in ShapeAnalysis_TransferParametersProj.
virtual Standard_Real ShapeAnalysis_TransferParameters::Perform | ( | const Standard_Real | Param, |
const Standard_Boolean | To2d | ||
) | [virtual] |
Reimplemented in ShapeAnalysis_TransferParametersProj.
virtual Handle_TColStd_HSequenceOfReal ShapeAnalysis_TransferParameters::Perform | ( | const Handle< TColStd_HSequenceOfReal > & | Params, |
const Standard_Boolean | To2d | ||
) | [virtual] |
Reimplemented in ShapeAnalysis_TransferParametersProj.
void ShapeAnalysis_TransferParameters::SetMaxTolerance | ( | const Standard_Real | maxtol | ) |
virtual void ShapeAnalysis_TransferParameters::TransferRange | ( | TopoDS_Edge & | newEdge, |
const Standard_Real | prevPar, | ||
const Standard_Real | currPar, | ||
const Standard_Boolean | To2d | ||
) | [virtual] |
Reimplemented in ShapeAnalysis_TransferParametersProj.
TopoDS_Edge ShapeAnalysis_TransferParameters::myEdge [protected] |