C3D Toolkit  Kernel - 118057, Vision - 2.14.7.1821

Parameters for transferring copies of two-dimensional curves and points on another carrier. More...

#include <op_curve_parameter.h>

+ Inheritance diagram for MbCurvesWrappingParams:
+ Collaboration diagram for MbCurvesWrappingParams:

Public Member Functions

 MbCurvesWrappingParams (const c3d::ConstPlaneCurvesSPtrVector &curves, const c3d::ParamPointsVector &points, const MbWrapValues &vals, const MbSNameMaker &operNames, bool cutByBounds, bool copyCurves)
 Constructor by parameters for wrapping. More...
 
 MbCurvesWrappingParams (const c3d::ConstSpaceCurvesSPtrVector &curves, const c3d::ParamPointsVector &points, const MbWrapValues &vals, const MbSNameMaker &operNames, bool cutByBounds, bool copyCurves)
 Constructor by parameters for wrapping. More...
 
 MbCurvesWrappingParams (const c3d::ConstPlaneCurvesSPtrVector &curves, const c3d::ParamPointsVector &points, const MbWrapValues &vals, const MbSNameMaker &operNames, double surfBreakParam, bool copyCurves)
 Constructor by parameters for unwrapping. More...
 
 MbCurvesWrappingParams (const c3d::ConstSpaceCurvesSPtrVector &curves, const c3d::ParamPointsVector &points, const MbWrapValues &vals, const MbSNameMaker &operNames, double surfBreakParam, bool copyCurves)
 Constructor by parameters for unwrapping. More...
 
 MbCurvesWrappingParams (const MbCurvesWrappingParams &other, bool copyCurves, bool copySurface, MbRegDuplicate *iReg=nullptr)
 Copy constructor. More...
 
 MbCurvesWrappingParams (TapeInit tapeInit)
 Constructor for reading.
 
template<class CurvesVector >
void InitWrap (const CurvesVector &curves, const c3d::ParamPointsVector &points, const MbWrapValues &vals, const MbSNameMaker &operNames, bool cutByBounds, bool copyCurves, bool removeExistCurves, bool removeExistPoints)
 Initialize parameters for wrapping algorithm. More...
 
template<class CurvesVector >
void InitUnwrap (const CurvesVector &curves, const c3d::ParamPointsVector &points, const MbWrapValues &vals, const MbSNameMaker &operNames, double surfBreakParam, bool copyCurves, bool removeExistCurves, bool removeExistPoints)
 Initialize parameters for unwrapping algorithm. More...
 
const c3d::ConstPlaneCurvesSPtrVector & GetCurves () const
 Get two-dimensional curves.
 
size_t GetCurvesCount () const
 Get two-dimensional curves count.
 
const c3d::ParamPointsVectorGetPoints () const
 Get the two-dimensional points.
 
size_t GetPointsCount () const
 Get points count.
 
const MbWrapValuesGetParamValues () const
 Get an operation parameters.
 
MbWrapValuesSetParamValues ()
 Modify an operation parameters.
 
bool IsWrap () const
 Return the operation type: wrap (true), unwrap (false).
 
bool IsBoundsCut () const
 Whether the result curves to be cut with the surface bounds?.
 
const MbSNameMakerGetNameMaker () const
 Get names maker.
 
double GetSurfaceBreakingParam () const
 Return the parameter (in ratio) of the surface, where the periodic surface is to be cut.
 
bool IsSame (const MbCurvesWrappingParams &other, double accuracy) const
 The comparison with other parameters.
 
bool IsSimilar (const MbCurvesWrappingParams &other) const
 The comparison with other parameters.
 
void Transform (const MbMatrix3D &matr, MbRegTransform *iReg=nullptr)
 Transform an object according to the matrix.
 
void Move (const MbVector3D &to, MbRegTransform *iReg=nullptr)
 Move an object along a vector.
 
void Rotate (const MbAxis3D &axis, double angle, MbRegTransform *iReg=nullptr)
 Rotate an object around an axis at a given angle.
 
MbCurvesWrappingParamsDuplicate (bool copyCurves, bool copySurface)
 Make a copy of current parameters. More...
 
void GetProperties (MbProperties &)
 Get properties of the object.
 
void SetProperties (const MbProperties &)
 Set properties of the object.
 
void SetEqual (const MbCurvesWrappingParams &other, bool copyCurves, MbRegDuplicate *iReg=nullptr)
 Make the objects equal. More...
 
- Public Member Functions inherited from MbPrecision
 MbPrecision ()
 Default constructor.
 
 MbPrecision (double _precision, double _deviation)
 Constructor by the specified precision.
 
 MbPrecision (const MbPrecision &other)
 Copy-constructor.
 
 ~MbPrecision ()
 Destructor.
 
void Init (const MbPrecision &other)
 Initialization function.
 
void Init (double _precision)
 Initialization function.
 
MbPrecisionoperator= (const MbPrecision &other)
 Assignment operator.
 
bool IsSame (const MbPrecision &other, double accuracy) const
 Determine whether an object is equal?
 
double GetPrecision () const
 Get precision.
 
void SetPrecision (double a)
 Set precision.
 

Additional Inherited Members

- Static Public Member Functions inherited from MbPrecision
static double GetMaxMetricTolerance ()
 Get the maximum metric tolerance. More...
 
static double GetMaxAngleTolerance ()
 Get the maximum angular tolerance. More...
 
- Static Public Attributes inherited from MbPrecision
static const MbPrecision defaultPrecision
 Default precision (METRIC_PRECISION, ANGLE_REGION);.
 
- Protected Attributes inherited from MbPrecision
double precision
 The metric precision of the construction of objects.
 
double deviation
 The angular precision of the construction of objects.
 

Detailed Description

Parameters for transferring copies of two-dimensional curves and points on another carrier.

Parameters for transferring copies of two-dimensional curves and points on another carrier. The parameter _surfBreakParam is necessary to be determined for periodic surfaces. In order to for the algorithm (at the moment it touches unwrap operation only) work properly, the closed surface should be made unclosed. The breaking place (position of cutting line) is determined by this parameter. It is set in the ratio [0, 1] of the surface range for the corresponding parametric direction (either U or V, which matches the periodic direction). For U: _surfBreakParam = ( U - Umin )/( Umax - Umin ), where U is an actual U-parameter of the surface, correspond to the breaking place. Umin and Umax are bounds of the surface U-range (Umax - Umin = Uperiod). Analogically for V-parameter. If the parameter value is out of this range it will be automatically adjusted to it (to min or max boundary). If this parameter is equal to UNDEFINED_DBL it is not take into account at all. In case of non-periodic surfaces, the parameter does not play any role and can take any value. In case of the surface is periodic both U- and V-direction, it is undevelopable. The parameter does not play any role, too. The situation when the cutting line goes through the anchor point of the surface (MbWrapValues::_uv) leads to indeterminate behavior, therefore it is not allowed. In this case, the cutting line will be artificially shifted by a small epsilon to the side of increase U/V surface parameter. At that, if the cutting line goes through Umax (Vmax) then shift will be made to the side of decrease parameter.
The situation is also indeterminate when an unwrapped point or curve lies entirely on the cutting line. This case should be avoided by choosing another position of the cutting line.

Constructor & Destructor Documentation

◆ MbCurvesWrappingParams() [1/5]

MbCurvesWrappingParams::MbCurvesWrappingParams ( const c3d::ConstPlaneCurvesSPtrVector &  curves,
const c3d::ParamPointsVector points,
const MbWrapValues vals,
const MbSNameMaker operNames,
bool  cutByBounds,
bool  copyCurves 
)

Constructor by parameters for wrapping.

Constructor by parameters for wrapping.

Parameters
[in]curves- Two-dimensional curves, copies of which will be wrapped.
[in]points- Two-dimension points to be wrapped.
[in]vals- The parameters of wrap operation.
[in]operNames- Names maker with operation version.
[in]cutByBounds- Whether the result curves to be cut with the surface bounds?
[in]copyCurves- Whether to save the curves copies in this parameter class.

◆ MbCurvesWrappingParams() [2/5]

MbCurvesWrappingParams::MbCurvesWrappingParams ( const c3d::ConstSpaceCurvesSPtrVector &  curves,
const c3d::ParamPointsVector points,
const MbWrapValues vals,
const MbSNameMaker operNames,
bool  cutByBounds,
bool  copyCurves 
)

Constructor by parameters for wrapping.

Constructor by parameters for wrapping.

Parameters
[in]curves- Three-dimension curves, copies of which will be wrapped. It is expected that there are two-dimension curves on a surface or a plane inside.
[in]points- Two-dimension points to be wrapped.
[in]vals- The parameters of wrap operation.
[in]operNames- Names maker with operation version.
[in]cutByBounds- Whether the result curves to be cut with the surface bounds?
[in]copyCurves- Whether to save the curves copies in this parameter class.

◆ MbCurvesWrappingParams() [3/5]

MbCurvesWrappingParams::MbCurvesWrappingParams ( const c3d::ConstPlaneCurvesSPtrVector &  curves,
const c3d::ParamPointsVector points,
const MbWrapValues vals,
const MbSNameMaker operNames,
double  surfBreakParam,
bool  copyCurves 
)

Constructor by parameters for unwrapping.

Constructor by parameters for unwrapping.

Parameters
[in]curves- Two-dimensional curves, copies of which will be unwrapped.
[in]points- Two-dimension points to be translated to a new carrier.
[in]vals- The parameters of unwrap operation.
[in]operNames- Names maker with operation version.
[in]surfBreakParam- The place, where the periodic surface is to be cut.
[in]copyCurves- Whether to save the curves copies in this parameter class.

◆ MbCurvesWrappingParams() [4/5]

MbCurvesWrappingParams::MbCurvesWrappingParams ( const c3d::ConstSpaceCurvesSPtrVector &  curves,
const c3d::ParamPointsVector points,
const MbWrapValues vals,
const MbSNameMaker operNames,
double  surfBreakParam,
bool  copyCurves 
)

Constructor by parameters for unwrapping.

Constructor by parameters for unwrapping.

Parameters
[in]curves- Three-dimension curves, copies of which will be unwrapped. It is expected that there are two-dimension curves on a surface or a plane inside.
[in]points- Two-dimension points to be translated to a new carrier.
[in]vals- The parameters of unwrap operation.
[in]operNames- Names maker with operation version.
[in]surfBreakParam- The place, where the periodic surface is to be cut.
[in]copyCurves- Whether to save the curves copies in this parameter class.

◆ MbCurvesWrappingParams() [5/5]

MbCurvesWrappingParams::MbCurvesWrappingParams ( const MbCurvesWrappingParams other,
bool  copyCurves,
bool  copySurface,
MbRegDuplicate iReg = nullptr 
)

Copy constructor.

Copy constructor. Previous curves and points are not eliminated. New ones are added on top of existing.

Parameters
[in]copyCurves- Create copies of the curves.
[in]copySurface- Create a copy of the surface.

Member Function Documentation

◆ InitWrap()

template<class CurvesVector >
void MbCurvesWrappingParams::InitWrap ( const CurvesVector &  curves,
const c3d::ParamPointsVector points,
const MbWrapValues vals,
const MbSNameMaker operNames,
bool  cutByBounds,
bool  copyCurves,
bool  removeExistCurves,
bool  removeExistPoints 
)

Initialize parameters for wrapping algorithm.

Initialize parameters for wrapping algorithm.

Parameters
[in]curves- Curves, copies of which will be wrapped.
[in]points- Two-dimension points to be wrapped.
[in]vals- The parameters of wrap operation.
[in]operNames- Names maker with operation version.
[in]cutByBounds- Whether the result curves to be cut with the surface bounds?
[in]copyCurves- Whether to save the curves copies in this parameter class?
[in]removeExistCurves- If it is true the earlier added curves will be deleted.
[in]removeExistPoints- If it is true the earlier added points will be deleted.

◆ InitUnwrap()

template<class CurvesVector >
void MbCurvesWrappingParams::InitUnwrap ( const CurvesVector &  curves,
const c3d::ParamPointsVector points,
const MbWrapValues vals,
const MbSNameMaker operNames,
double  surfBreakParam,
bool  copyCurves,
bool  removeExistCurves,
bool  removeExistPoints 
)

Initialize parameters for unwrapping algorithm.

Initialize parameters for unwrapping algorithm.

Parameters
[in]curves- Curves, copies of which will be unwrapped.
[in]points- Two-dimension points to be unwrapped.
[in]vals- The parameters of unwrap operation.
[in]operNames- Names maker with operation version.
[in]surfBreakParam- The place, where the periodic surface is to be cut.
[in]copyCurves- Whether to save the curves copies in this parameter class.
[in]removeExistCurves- If it is true the earlier added curves will be deleted.
[in]removeExistPoints- If it is true the earlier added points will be deleted.

◆ Duplicate()

MbCurvesWrappingParams* MbCurvesWrappingParams::Duplicate ( bool  copyCurves,
bool  copySurface 
)

Make a copy of current parameters.

Make a copy of current parameters.

Parameters
[in]copyCurves- Create copies of the curves.
[in]copySurface- Create a copy of the surface.

◆ SetEqual()

void MbCurvesWrappingParams::SetEqual ( const MbCurvesWrappingParams other,
bool  copyCurves,
MbRegDuplicate iReg = nullptr 
)

Make the objects equal.

Make the objects equal if they are similar.

Parameters
[in]other- Object to be copied.
[in]copyCurves- Create copies of the curves.
[in]iReg- Registrator.

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