C3D Toolkit  Kernel - 117982, Vision - 2.9.2.2
surf_spine.h File Reference

Curvilinear spine for sweep surface. More...

#include <mb_matrix3d.h>
#include <curve3d.h>
#include <reference_item.h>
#include <tool_multithreading.h>

Classes

class  MbSpine
 Curvilinear spine for sweep surface. More...
 
struct  SpineData
 A spine curve and its neighborhood. More...
 

Namespaces

 c3d
 C3D namespace declaration.
 

Functions

void MakeSpines (const MbSpine &sp, SArray< SpineData > &items)
 Creation of array of spines by the contour of spines. More...
 
template<class SpineDataVector >
void DeleteNonUsedSpines (SpineDataVector &spineDataItems)
 Delete unused spines.
More...
 
ThreeStates InitSpineDirection (const MbCurve3D &curve, MbVector3D &direction, VERSION version)
 Search of vector for transformation matrix orientation. More...
 
bool CheckSpineDirection (const MbCurve3D &curve, const MbVector3D &direction, VERSION version=Math::DefaultMathVersion())
 Check a vector for transformation matrix orientation. More...
 

Detailed Description

Curvilinear spine for sweep surface.

Function Documentation

◆ MakeSpines()

void MakeSpines ( const MbSpine sp,
SArray< SpineData > &  items 
)

Creation of array of spines by the contour of spines.

Creation of array of spines by the contour of spines with the consistent vectors of transformation matrix orientation.
For internal use only.

Parameters
[in]sp- Contour of spines
[out]items- Array of spines.

◆ DeleteNonUsedSpines()

template<class SpineDataVector >
void DeleteNonUsedSpines ( SpineDataVector &  spineDataItems)

Delete unused spines.

Delete unused spines.
For internal use only.

Parameters
[in,out]spineDataItems- An array of spines.

◆ InitSpineDirection()

ThreeStates InitSpineDirection ( const MbCurve3D curve,
MbVector3D direction,
VERSION  version 
)

Search of vector for transformation matrix orientation.

Search of vector for transformation matrix orientation.
For internal use only.

Parameters
[in]curve- A curve.
[out]direction- A vector which is not coincident with the curve tangent.
[in]version- Version.
Returns
It equals ts_positive or ts_neutral if the most suitable direction vector "direction" was found.

◆ CheckSpineDirection()

bool CheckSpineDirection ( const MbCurve3D curve,
const MbVector3D direction,
VERSION  version = Math::DefaultMathVersion() 
)

Check a vector for transformation matrix orientation.

Check a vector for transformation matrix orientation.
For internal use only.

Parameters
[in]curve- A curve.
[in]direction- A vector which must not be coincident with the curve tangent.
[in]version- Version.
Returns
It equals true if the vector is not coincident with the curve tangent.