C3D Toolkit  Kernel - 117982, Vision - 2.9.2.2

N-dimensional accuracy. More...

#include <mb_dim_accuracy.h>

+ Collaboration diagram for MbDimAccuracy:

Public Member Functions

 MbDimAccuracy (double xEps, double yEps)
 Constructor for two-dimensional accuracy on the three values. More...
 
 MbDimAccuracy (double xEps, double yEps, double zEps)
 Constructor for two-dimensional accuracy on the three values. More...
 
template<class Vector >
 MbDimAccuracy (const Vector &vector)
 Constructor of N-dimensional accuracy on a vector of values. More...
 
 MbDimAccuracy (const MbDimAccuracy &acc)
 The copy constructor.
 
 MbDimAccuracy ()=delete
 Default constructor explicitly deleted.
 
 ~MbDimAccuracy ()
 Destructor.
 
size_t GetDimension () const
 Get the accuracy dimension.
 
const c3d::DoubleVectorGetEpsilon () const
 Get a vector with accuracy components.
 
double GetMin () const
 Return the value of the minimum accuracy component.
 
double GetLength () const
 Length of the vector built on accuracy components.
 
double & operator[] (size_t i)
 Access to accuracy component by index.
 
double operator[] (size_t i) const
 The value of accuracy component by index.
 
MbDimAccuracyoperator= (const MbDimAccuracy &)
 Assign the value of another accuracy to the accuracy.
 

Static Public Attributes

static const MbDimAccuracy twoDimAcc
 Default two-dimensional accuracy - ( PARAM_EPSILON, PARAM_EPSILON )
 
static const MbDimAccuracy twoDimRgn
 Default two-dimensional accuracy - ( METRIC_REGION, METRIC_REGION )
 
static const MbDimAccuracy threeDimAcc
 Default three-dimensional accuracy - ( METRIC_EPSILON, METRIC_EPSILON, METRIC_EPSILON )
 

Detailed Description

N-dimensional accuracy.

N-dimensional accuracy is specified by N positive numbers. Two-dimensional and three-dimensional accuracies are the most demanded.
Components of accuracy in these cases correspond to accuracies along x, y and z axes. Two-dimensional precision can be used, for example, when performing operations on two-dimensional MbCurve curves. In this case, the accuracy components will be calculated using the GetUEpsilon() and GetVEpsilon() methods called for the surface (MbSurface) on which the curve lies.

Warning
Under development.

Constructor & Destructor Documentation

◆ MbDimAccuracy() [1/3]

MbDimAccuracy::MbDimAccuracy ( double  xEps,
double  yEps 
)

Constructor for two-dimensional accuracy on the three values.

Constructor for two-dimensional accuracy on two values. If the passed accuracy components are smaller than the 'DOUBLE_EPSILON', then the value of 'DOUBLE_EPSILON' is assigned to these components.

Parameters
[in]xEps- x-axis accuracy.
[in]yEps- y-axis accuracy.

◆ MbDimAccuracy() [2/3]

MbDimAccuracy::MbDimAccuracy ( double  xEps,
double  yEps,
double  zEps 
)

Constructor for two-dimensional accuracy on the three values.

Constructor for three-dimensional accuracy on three values. If the passed accuracy components are smaller than the 'DOUBLE_EPSILON', then the value of 'DOUBLE_EPSILON' is assigned to these components.

Parameters
[in]xEps- x-axis accuracy.
[in]yEps- y-axis accuracy.
[in]zEps- z-axis accuracy.

◆ MbDimAccuracy() [3/3]

template<class Vector >
MbDimAccuracy::MbDimAccuracy ( const Vector &  vector)

Constructor of N-dimensional accuracy on a vector of values.

Constructor of N-dimensional accuracy on a vector of values. If the vector is empty, a one-dimensional accuracy with component equal to 'DOUBLE_EPSILON' is returned.

Parameters
[in]vector- Vector with components of N-dimensional accuracy.

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