C3D Toolkit
Kernel - 117950, Vision - 2.7.5.29
|
Parameters for transferring copies of two-dimensional curves on another medium. More...
#include <op_curve_parameter.h>
Public Member Functions | |
MbCurvesWrappingParams (const c3d::PlaneCurvesSPtrVector &curves_, const MbPlacement3D &place_, const MbCartPoint &xy_, const MbSurface &surface_, const MbCartPoint &uv_, double angle_, bool sense_, bool equals_, double accuracy_, bool copyCurves_, bool copySurface_, VERSION ver_) | |
Constructor. More... | |
MbCurvesWrappingParams (const c3d::ConstPlaneCurvesSPtrVector &curves_, const MbPlacement3D &place_, const MbCartPoint &xy_, const MbSurface &surface_, const MbCartPoint &uv_, double angle_, bool sense_, bool equals_, double accuracy_, bool copyCurves_, bool copySurface_, VERSION ver_) | |
Constructor. More... | |
MbCurvesWrappingParams (const c3d::ConstSpaceCurvesSPtrVector &curves_, const MbPlacement3D &place_, const MbCartPoint &xy_, const MbSurface &surface_, const MbCartPoint &uv_, double angle_, bool sense_, bool equals_, double accuracy_, bool copyCurves_, bool copySurface_, VERSION ver_) | |
Constructor. More... | |
MbCurvesWrappingParams (const c3d::ConstPlaneCurveSPtr &curve_, const MbPlacement3D &place_, const MbCartPoint &xy_, const MbSurface &surface_, const MbCartPoint &uv_, double angle_, bool sense_, bool equals_, double accuracy_, bool copyCurves_, bool copySurface_, VERSION ver_) | |
Constructor by 1 curve. More... | |
MbCurvesWrappingParams (const c3d::ConstSpaceCurveSPtr &curve_, const MbPlacement3D &place_, const MbCartPoint &xy_, const MbSurface &surface_, const MbCartPoint &uv_, double angle_, bool sense_, bool equals_, double accuracy_, bool copyCurves_, bool copySurface_, VERSION ver_) | |
Constructor by 1 curve. More... | |
MbCurvesWrappingParams (const MbCurvesWrappingParams &other, bool copyCurves, bool copySurface, MbRegDuplicate *iReg=nullptr) | |
Copy constructor. More... | |
const c3d::ConstPlaneCurveSPtr & | GetCurve (size_t i) const |
Get two-dimensional curve by index. | |
const c3d::ConstPlaneCurvesSPtrVector & | GetCurves () const |
Get two-dimensional curves. | |
void | GetCurves (c3d::ConstPlaneCurvesSPtrVector &retCurves) const |
Get two-dimensional curves. | |
size_t | GetCurvesCount () const |
Get two-dimensional curves count. | |
void | SetCurve (size_t i, const MbCurve &c) |
Set two-dimensional curve by index. | |
void | SetCurve (size_t i, MbCurve *c) |
Set two-dimensional curve by index. | |
const MbPlacement3D & | GetPlacement () const |
Get the local coordinate system. | |
void | SetPlacement (const MbPlacement3D &p) |
Set the local coordinate system. | |
const MbCartPoint & | GetPlacePoint () const |
Get a point on the "XY" plane of the LCS that will be aligned with the uv point on the parametric plane of the surface. | |
void | SetPlacePoint (const MbCartPoint &p) |
Set a point on the "XY" plane of the LCS that will be aligned with the uv point on the parametric plane of the surface. | |
const MbSurface & | GetSurface () const |
Get the surface. | |
const c3d::ConstSurfaceSPtr & | GetSurfacePtr () const |
Get the surface. | |
void | SetSurface (MbSurface &surf) |
Set the surface. | |
void | SetSurfacePtr (const c3d::ConstSurfaceSPtr &surf) |
Set the surface. | |
const MbCartPoint & | GetSurfacePoint () const |
Get a point on the parametric plane "UV" of the surface corresponding to the point xy on the plane. | |
void | SetSurfacePoint (const MbCartPoint &p) |
Set a point on the parametric plane "UV" of the surface corresponding to the point xy on the plane. | |
double | GetAngle () const |
Get the angle of rotation of the LSC "XY" plane and the parametric "UV" plane of the surface. | |
void | SetAngle (double a) |
Set the angle of rotation of the LSC "XY" plane and the parametric "UV" plane of the surface. | |
bool | IsSense () const |
Whether the orientations of LCS "X-Y" axes and the surface "U-V" axes are same. | |
void | SetSense (bool s) |
Set the coincidence of the directions of the "X" axis of the LSC and the "U" axis of the surface. | |
bool | IsEquals () const |
Should the result curve length be equal to the original curve length? | |
void | SetEquals (bool e) |
Set the curves length correspondence to the originals on the surface? | |
double | GetAccuracy () const |
Get an accuracy. | |
void | SetAccuracy (double acc) |
Set an accuracy. | |
VERSION | GetVersion () const |
The version. | |
void | SetVersion (VERSION ver) |
Set the algorithm version. | |
bool | IsValid () const |
The validity check: whether surface is not null and some of the curves are not null. | |
bool | IsSame (const MbCurvesWrappingParams &other, double accuracy) const |
The comparison with other parameters. | |
bool | IsSimilar (const MbCurvesWrappingParams &other) const |
The comparison with other parameters. | |
bool | GetUSeamStitch () const |
Whether to shift curves with one end on Umax seam. More... | |
void | SetUSeamStitch (bool s) |
Whether to shift curves with one end on Umax seam. More... | |
MbCurvesWrappingParams * | Duplicate (bool copyCurves, bool copySurface) |
Make a copy of current parameters. More... | |
![]() | |
MbPrecision () | |
Default constructor. | |
MbPrecision (double _precision, double _deviation, double _tolerance=METRIC_EPSILON) | |
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. | |
MbPrecision & | operator= (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. | |
Friends | |
class | MbUnwrapCurveCreator |
Additional Inherited Members | |
![]() | |
static double | GetMaxMetricTolerance () |
Get the maximum metric tolerance. More... | |
static double | GetMaxAngleTolerance () |
Get the maximum angular tolerance. More... | |
![]() | |
double | precision |
The metric precision of the construction of objects. | |
double | deviation |
The angular precision of the construction of objects. | |
double | tolerance |
The tolerance of the constructed objects. | |
Parameters for transferring copies of two-dimensional curves on another medium.
The point xy of the XY plane of the local coordinate system must coincide with the point uv of the parametric region UV of the surface. With parameters angle = 0 and sense = true the overlay of the plane on the surface matches 'x' and 'y' plane axes to the 'u' and 'v' surface axes. With parameters angle = 0 and sense = false the overlay of the plane on the surface matches 'y' plane axis to the 'v' surface axis, with 'x' and 'u' axes directed oppositely. Then the value of 'angle' shows how much the plane coordinate system XY is turned in respect to its Z axis.
MbCurvesWrappingParams::MbCurvesWrappingParams | ( | const c3d::PlaneCurvesSPtrVector & | curves_, |
const MbPlacement3D & | place_, | ||
const MbCartPoint & | xy_, | ||
const MbSurface & | surface_, | ||
const MbCartPoint & | uv_, | ||
double | angle_, | ||
bool | sense_, | ||
bool | equals_, | ||
double | accuracy_, | ||
bool | copyCurves_, | ||
bool | copySurface_, | ||
VERSION | ver_ | ||
) |
Constructor.
Constructor.
[in] | curves_ | - 2d curves, copies of which will be wrapped/unwrapped. |
[in] | place_ | - The local coordinate system (LCS) of the plane. |
[in] | xy_ | - The anchor point on the plane that will be aligned with the uv point on the parametric plane of the surface. |
[in] | surface_ | - The surface to wrap to/unwrap from. |
[in] | uv_ | - The anchor uv point on the parametric plane of the surface that will be aligned with the xy point on the plane. |
[in] | angle_ | - The angle of rotation of the LSC "XY" plane and the parametric "UV" plane of the surface. |
[in] | sense_ | - Whether the directions of the "X" axis of the LSC and the "U" axis of the surface coincide? |
[in] | equals_ | - Should the lengths of the curves on another medium match the originals? |
[in] | accuracy_ | - The accuracy. |
[in] | copyCurves_ | - Whether to save the curves copies in this parameter class. |
[in] | copySurface_ | - Whether to save the surface copy in this parameter class. |
[in] | ver_ | - The version. |
MbCurvesWrappingParams::MbCurvesWrappingParams | ( | const c3d::ConstPlaneCurvesSPtrVector & | curves_, |
const MbPlacement3D & | place_, | ||
const MbCartPoint & | xy_, | ||
const MbSurface & | surface_, | ||
const MbCartPoint & | uv_, | ||
double | angle_, | ||
bool | sense_, | ||
bool | equals_, | ||
double | accuracy_, | ||
bool | copyCurves_, | ||
bool | copySurface_, | ||
VERSION | ver_ | ||
) |
Constructor.
Constructor.
[in] | curves_ | - 3d curves, copies of which will be wrapped/unwrapped. It is expected that there are 2d curves on surface inside. |
[in] | place_ | - The local coordinate system (LCS) of the plane. |
[in] | xy_ | - The anchor point on the plane that will be aligned with the uv point on the parametric plane of the surface. |
[in] | surface_ | - The surface to wrap to/unwrap from. |
[in] | uv_ | - The anchor uv point on the parametric plane of the surface that will be aligned with the xy point on the plane. |
[in] | angle_ | - The angle of rotation of the LSC "XY" plane and the parametric "UV" plane of the surface. |
[in] | sense_ | - Whether the directions of the "X" axis of the LSC and the "U" axis of the surface coincide? |
[in] | equals_ | - Should the lengths of the curves on another medium match the originals? |
[in] | accuracy_ | - The accuracy. |
[in] | copyCurves_ | - Whether to save the curves copies in this parameter class. |
[in] | copySurface_ | - Whether to save the surface copy in this parameter class. |
[in] | ver_ | - The version. |
MbCurvesWrappingParams::MbCurvesWrappingParams | ( | const c3d::ConstSpaceCurvesSPtrVector & | curves_, |
const MbPlacement3D & | place_, | ||
const MbCartPoint & | xy_, | ||
const MbSurface & | surface_, | ||
const MbCartPoint & | uv_, | ||
double | angle_, | ||
bool | sense_, | ||
bool | equals_, | ||
double | accuracy_, | ||
bool | copyCurves_, | ||
bool | copySurface_, | ||
VERSION | ver_ | ||
) |
Constructor.
Constructor.
[in] | curves_ | - 2d curves, copies of which will be wrapped/unwrapped. It is expected that there are 2d curves on surface inside. |
[in] | place_ | - The local coordinate system (LCS) of the plane. |
[in] | xy_ | - The anchor point on the plane that will be aligned with the uv point on the parametric plane of the surface. |
[in] | surface_ | - The surface to wrap to/unwrap from. |
[in] | uv_ | - The anchor uv point on the parametric plane of the surface that will be aligned with the xy point on the plane. |
[in] | angle_ | - The angle of rotation of the LSC "XY" plane and the parametric "UV" plane of the surface. |
[in] | sense_ | - Whether the directions of the "X" axis of the LSC and the "U" axis of the surface coincide? |
[in] | equals_ | - Should the lengths of the curves on another medium match the originals? |
[in] | accuracy_ | - The accuracy. |
[in] | copyCurves_ | - Whether to save the curves copies in this parameter class. |
[in] | copySurface_ | - Whether to save the surface copy in this parameter class. |
[in] | ver_ | - The version. |
MbCurvesWrappingParams::MbCurvesWrappingParams | ( | const c3d::ConstPlaneCurveSPtr & | curve_, |
const MbPlacement3D & | place_, | ||
const MbCartPoint & | xy_, | ||
const MbSurface & | surface_, | ||
const MbCartPoint & | uv_, | ||
double | angle_, | ||
bool | sense_, | ||
bool | equals_, | ||
double | accuracy_, | ||
bool | copyCurves_, | ||
bool | copySurface_, | ||
VERSION | ver_ | ||
) |
Constructor by 1 curve.
Constructor by 1 curve.
[in] | curves_ | - 2d curve, which copy will be wrapped/unwrapped. |
[in] | place_ | - The local coordinate system (LCS) of the plane. |
[in] | xy_ | - The anchor point on the plane that will be aligned with the uv point on the parametric plane of the surface. |
[in] | surface_ | - The surface to wrap to/unwrap from. |
[in] | uv_ | - The anchor uv point on the parametric plane of the surface that will be aligned with the xy point on the plane. |
[in] | angle_ | - The angle of rotation of the LSC "XY" plane and the parametric "UV" plane of the surface. |
[in] | sense_ | - Whether the directions of the "X" axis of the LSC and the "U" axis of the surface coincide? |
[in] | equals_ | - Should the lengths of the curves on another medium match the originals? |
[in] | accuracy_ | - The accuracy. |
[in] | copyCurves_ | - Whether to save the curves copies in this parameter class. |
[in] | copySurface_ | - Whether to save the surface copy in this parameter class. |
[in] | ver_ | - The version. |
MbCurvesWrappingParams::MbCurvesWrappingParams | ( | const c3d::ConstSpaceCurveSPtr & | curve_, |
const MbPlacement3D & | place_, | ||
const MbCartPoint & | xy_, | ||
const MbSurface & | surface_, | ||
const MbCartPoint & | uv_, | ||
double | angle_, | ||
bool | sense_, | ||
bool | equals_, | ||
double | accuracy_, | ||
bool | copyCurves_, | ||
bool | copySurface_, | ||
VERSION | ver_ | ||
) |
Constructor by 1 curve.
Constructor by 1 curve.
[in] | curve_ | - 3d curve, which copy will be wrapped/unwrapped. It is expected that there is 2d curve on surface inside. |
[in] | place_ | - The local coordinate system (LCS) of the plane. |
[in] | xy_ | - The anchor point on the plane that will be aligned with the uv point on the parametric plane of the surface. |
[in] | surface_ | - The surface to wrap to/unwrap from. |
[in] | uv_ | - The anchor uv point on the parametric plane of the surface that will be aligned with the xy point on the plane. |
[in] | angle_ | - The angle of rotation of the LSC "XY" plane and the parametric "UV" plane of the surface. |
[in] | sense_ | - Whether the directions of the "X" axis of the LSC and the "U" axis of the surface coincide? |
[in] | equals_ | - Should the lengths of the curves on another medium match the originals? |
[in] | accuracy_ | - The accuracy. |
[in] | copyCurves_ | - Whether to save the curves copies in this parameter class. |
[in] | copySurface_ | - Whether to save the surface copy in this parameter class. |
[in] | ver_ | - The version. |
MbCurvesWrappingParams::MbCurvesWrappingParams | ( | const MbCurvesWrappingParams & | other, |
bool | copyCurves, | ||
bool | copySurface, | ||
MbRegDuplicate * | iReg = nullptr |
||
) |
Copy constructor.
Copy constructor.
[in] | copyCurves | - Create copies of the curves. |
[in] | copySurface | - Create a copy of the surface. |
|
inline |
Whether to shift curves with one end on Umax seam.
Whether to shift curves with one end on Umax seam. If one curve end is on the Umax seam and the other is neither on Umax nor Umin, then shift the curve for Umax-Umin. This is a simplified stitching of curves which have connected edges in 3d on the seam, but in 2d are spaced apart on a period. If this flag is enabled, those unwrapped curves are alse connected.
|
inline |
Whether to shift curves with one end on Umax seam.
Whether to shift curves with one end on Umax seam. If one curve end is on the Umax seam and the other is neither on Umax nor Umin, then shift the curve for Umax-Umin. This is a simplified stitching of curves which have connected edges in 3d on the seam, but in 2d are spaced apart on a period. If this flag is enabled, those unwrapped curves are alse connected.
MbCurvesWrappingParams* MbCurvesWrappingParams::Duplicate | ( | bool | copyCurves, |
bool | copySurface | ||
) |
Make a copy of current parameters.
Make a copy of current parameters.
[in] | copyCurves | - Create copies of the curves. |
[in] | copySurface | - Create a copy of the surface. |