C3D Toolkit  Kernel - 117982, Vision - 2.9.2.2

Parameters of the operation of the grid search for minima and maxima. More...

#include <alg_dimension.h>

+ Collaboration diagram for MbMinMaxGridDistancesParams:

Public Types

enum class  ProjectionMode { om_Radiance = 0 , om_NearestDistance = 1 , om_SpecifiedDirection = 2 }
 Projection mode of the base object grid onto the target object. More...
 

Public Member Functions

 MbMinMaxGridDistancesParams (const MbSurface &srcSurface, size_t srcUCnt, size_t srcVCnt, const MbSurface &dstSurface, VERSION ver=Math::DefaultMathVersion())
 Constructor by parameters. More...
 
 MbMinMaxGridDistancesParams (const MbSurface &srcSurface, size_t srcUCnt, size_t srcVCnt, const MbVector3D *dir, const MbeSenseValue &orient, bool useEqualDists, const MbSurface &dstSurface, size_t nMin, size_t nMax, VERSION ver=Math::DefaultMathVersion())
 Constructor by parameters. More...
 
 MbMinMaxGridDistancesParams (const MbSurface &srcSurface, size_t srcUCnt, size_t srcVCnt, bool useEqualDists, const MbSurface &dstSurface, size_t nMin, size_t nMax, VERSION ver=Math::DefaultMathVersion())
 Constructor by parameters. More...
 
 MbMinMaxGridDistancesParams (const MbCurve3D &srcCurve, size_t srcTCnt, const MbSurface &dstSurface, VERSION ver=Math::DefaultMathVersion())
 Constructor by parameters. More...
 
 MbMinMaxGridDistancesParams (const MbCurve3D &srcCurve, size_t srcTCnt, const MbVector3D *dir, const MbeSenseValue &orient, bool useEqualDists, const MbSurface &dstSurface, size_t nMin, size_t nMax, VERSION ver=Math::DefaultMathVersion())
 Constructor by parameters. More...
 
 MbMinMaxGridDistancesParams (const MbCurve3D &srcCurve, size_t srcTCnt, const MbCurve3D &dstCurve, VERSION ver=Math::DefaultMathVersion())
 Constructor by parameters. More...
 
 MbMinMaxGridDistancesParams (const MbCurve3D &srcCurve, size_t srcTCnt, bool useEqualDists, bool byNormal, const MbCurve3D &dstCurve, size_t nMin, size_t nMax, VERSION ver=Math::DefaultMathVersion())
 Constructor by parameters. More...
 
const MbSpaceItemGetBaseItem () const
 Get base object.
 
const MbSpaceItemGetTargetItem () const
 Get target object.
 
const ProjectionModeGetProjectionMode () const
 Get projection mode.
 
const c3d::IndicesPairGetBaseSplitsCount () const
 Get base object splits count.
 
bool GetProjectionDirection (MbVector3D &dir, MbeSenseValue &orient) const
 Get general search direction.
 
bool GetUseEqualDistances () const
 Get the flag for adding equal distances to the result.
 
size_t GetDesiredMinimaNumber () const
 Get desired minima number.
 
size_t GetDesiredMaximaNumber () const
 Get desired maxima number.
 
VERSION GetVersion () const
 Get version.
 
bool SetProjectionDirection (const MbVector3D *dirPtr, MbeSenseValue orient)
 Set general search direction.
 
void SetUseEqualDistances (bool useEqualDists)
 Set flag to use equal distances.
 
void SetDisiredMinMaxNumbers (size_t minNum, size_t maxNum)
 Get desired minima and maxima numbers.
 
void SetProgressIndicator (IProgressIndicator *prog)
 Set external progress indicator.
 
IProgressIndicatorTakeProgressIndicator () const
 Take external progress indicator.
 

Public Attributes

c3d::ConstSpaceItemSPtr srcItem
 Base object (curve or surface).
 
c3d::IndicesPair srcSplitsCount
 Number of partitions (points).
 
c3d::ConstSpaceItemSPtr dstItem
 Target object (curve or surface).
 
MbVector3D projDirection
 The vector of direction (if not set then by the normal).
 
MbeSenseValue projOrient
 Relative search direction.
 
bool useEqualDistances
 Whether to use the equal distances.
 
size_t desiredMinimaNumber
 Desired minima number.
 
size_t desiredMaximaNumber
 Desired maxima number.
 
VERSION version
 Version.
 

Detailed Description

Parameters of the operation of the grid search for minima and maxima.

Parameters of the grid search operation for minima and maxima of distances between objects.

Member Enumeration Documentation

◆ ProjectionMode

Projection mode of the base object grid onto the target object.

Enumerator
om_Radiance 

Search for extreme distances along the normal to the base object.

om_NearestDistance 

Search for extreme distances along the normal to the target object.

om_SpecifiedDirection 

Search for extreme distances in a given direction.

Constructor & Destructor Documentation

◆ MbMinMaxGridDistancesParams() [1/7]

MbMinMaxGridDistancesParams::MbMinMaxGridDistancesParams ( const MbSurface srcSurface,
size_t  srcUCnt,
size_t  srcVCnt,
const MbSurface dstSurface,
VERSION  ver = Math::DefaultMathVersion() 
)
inline

Constructor by parameters.

Constructor of operation parameters for measuring extreme distances between surfaces. The projection mode is along the normal to the base surface.

Parameters
[in]srcSurface- Base surface.
[in]srcUCnt- Number of partitions of the base surface in U.
[in]srcVCnt- Number of partitions of the base surface in V.
[in]dstSurface- Target surface.
[in]ver- Operation version.

◆ MbMinMaxGridDistancesParams() [2/7]

MbMinMaxGridDistancesParams::MbMinMaxGridDistancesParams ( const MbSurface srcSurface,
size_t  srcUCnt,
size_t  srcVCnt,
const MbVector3D dir,
const MbeSenseValue orient,
bool  useEqualDists,
const MbSurface dstSurface,
size_t  nMin,
size_t  nMax,
VERSION  ver = Math::DefaultMathVersion() 
)
inline

Constructor by parameters.

Constructor of operation parameters for measuring extreme distances between surfaces. If the direction vector is not specified, then the projection mode is normal to the base surface.

Parameters
[in]srcSurface- Base surface.
[in]srcUCnt- Number of partitions of the base surface in U.
[in]srcVCnt- Number of partitions of the base surface in V.
[in]dir- The vector of direction (if not set then by the normal).
[in]orient- Relative search direction.
[in]useEqualDists- Whether to use the equal distances.
[in]dstSurface- Target surface.
[in]nMin- Desired minima number.
[in]nMax- Desired maxima number.
[in]ver- Operation version.

◆ MbMinMaxGridDistancesParams() [3/7]

MbMinMaxGridDistancesParams::MbMinMaxGridDistancesParams ( const MbSurface srcSurface,
size_t  srcUCnt,
size_t  srcVCnt,
bool  useEqualDists,
const MbSurface dstSurface,
size_t  nMin,
size_t  nMax,
VERSION  ver = Math::DefaultMathVersion() 
)
inline

Constructor by parameters.

Constructor of operation parameters for measuring extreme distances between surfaces. Projection mode is along the normal to the target surface.

Parameters
[in]srcSurface- Base surface.
[in]srcUCnt- Number of partitions of the base surface in U.
[in]srcVCnt- Number of partitions of the base surface in V.
[in]useEqualDists- Whether to use the equal distances.
[in]dstSurface- Target surface.
[in]nMin- Desired minima number.
[in]nMax- Desired maxima number.
[in]ver- Operation version.

◆ MbMinMaxGridDistancesParams() [4/7]

MbMinMaxGridDistancesParams::MbMinMaxGridDistancesParams ( const MbCurve3D srcCurve,
size_t  srcTCnt,
const MbSurface dstSurface,
VERSION  ver = Math::DefaultMathVersion() 
)
inline

Constructor by parameters.

Constructor of operation parameters for measuring extreme distances between the curve and the surface. The projection mode is along the normal to the target surface.

Parameters
[in]srcCurve- Base curve.
[in]srcTCnt- Number of partitions of the base curve.
[in]dstSurface- Target surface.
[in]ver- Operation version.

◆ MbMinMaxGridDistancesParams() [5/7]

MbMinMaxGridDistancesParams::MbMinMaxGridDistancesParams ( const MbCurve3D srcCurve,
size_t  srcTCnt,
const MbVector3D dir,
const MbeSenseValue orient,
bool  useEqualDists,
const MbSurface dstSurface,
size_t  nMin,
size_t  nMax,
VERSION  ver = Math::DefaultMathVersion() 
)
inline

Constructor by parameters.

Constructor of operation parameters for measuring extreme distances between the curve and the surface. If the direction vector is not specified, then the projection mode is normal to the target surface.

Parameters
[in]srcCurve- Base curve.
[in]srcTCnt- Number of partitions of the base curve.
[in]dir- The vector of direction (if not set then by the normal).
[in]orient- Relative search direction.
[in]useEqualDists- Whether to use the equal distances.
[in]dstSurface- Target surface.
[in]nMin- Desired minima number.
[in]nMax- Desired maxima number.
[in]ver- Operation version.

◆ MbMinMaxGridDistancesParams() [6/7]

MbMinMaxGridDistancesParams::MbMinMaxGridDistancesParams ( const MbCurve3D srcCurve,
size_t  srcTCnt,
const MbCurve3D dstCurve,
VERSION  ver = Math::DefaultMathVersion() 
)
inline

Constructor by parameters.

Constructor of operation parameters for measuring extreme distances between curves. The projection mode is along the normal to the target curve.

Parameters
[in]srcCurve- Base curve.
[in]srcTCnt- Number of partitions of the base curve.
[in]dstCurve- Target curve.
[in]ver- Operation version.

◆ MbMinMaxGridDistancesParams() [7/7]

MbMinMaxGridDistancesParams::MbMinMaxGridDistancesParams ( const MbCurve3D srcCurve,
size_t  srcTCnt,
bool  useEqualDists,
bool  byNormal,
const MbCurve3D dstCurve,
size_t  nMin,
size_t  nMax,
VERSION  ver = Math::DefaultMathVersion() 
)
inline

Constructor by parameters.

Constructor of operation parameters for measuring extreme distances between curves. Projection mode - either normal to the target curve, or in a plane perpendicular to the tangent of the base curve.

Parameters
[in]srcSurface- Base curve.
[in]srcTCnt- Number of partitions of the base curve.
[in]useEqualDists- Whether to use the equal distances.
[in]byNormal- byNormal = true sets the projection mode normal to the target curve.
[in]dstCurve- Target curve.
[in]nMin- Desired minima number.
[in]nMax- Desired maxima number.
[in]ver- Operation version.

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