C3D Toolkit  Kernel - 117982, Vision - 2.9.2.2

Data for construction of surface of the joint. More...

#include <op_shell_parameter.h>

+ Collaboration diagram for JoinSurfaceValues:

Public Types

enum  JoinConnType {
  js_Position = 0 , js_NormPlus , js_NormMinus , js_G1Plus ,
  js_G1Minus , js_G2Plus , js_G2Minus
}
 Type of surfaces join. More...
 

Public Member Functions

 JoinSurfaceValues ()
 Default constructor.
 
 JoinSurfaceValues (JoinConnType t1, JoinConnType t2, double tens1, double tens2, bool selfInt=false)
 Constructor by parameters.
 
 JoinSurfaceValues (const JoinSurfaceValues &other)
 Copy-constructor.
 
virtual ~JoinSurfaceValues ()
 Destructor.
 
bool Init (const SArray< double > &initBreaks0, const SArray< double > &initBreaks1, bool initCheckSelfInt, JoinConnType initConnType1, double initTension1, bool initEdgeConnType1, const MbVector3D *initBoundDir11, const MbVector3D *initBoundDir12, JoinConnType initConnType2, double initTension2, bool initEdgeConnType2, const MbVector3D *initBoundDir21, const MbVector3D *initBoundDir22)
 Initialization function.
 
void Init (const JoinSurfaceValues &other)
 Copy function.
 
void operator= (const JoinSurfaceValues &other)
 Assignment operator.
 
void Transform (const MbMatrix3D &, MbRegTransform *ireg)
 Transform an object according to the matrix.
 
void Move (const MbVector3D &, MbRegTransform *ireg)
 Move an object along a vector.
 
void Rotate (const MbAxis3D &, double angle, MbRegTransform *ireg)
 Rotate an object at a given angle around an axis.
 
size_t GetParamsCount (bool first) const
 Get the count of splitting parameters.
 
void GetParams (bool first, SArray< double > &breaks) const
 Get splitting parameters (the first or second group).
 
double GetParam (bool first, size_t k) const
 Get splitting parameters (the first or second group).
 
void SetParams (bool first, const SArray< double > &ps)
 Set splitting parameters.
 
bool IsEmpty () const
 Whether splitting parameters are not filled?
 
bool CheckSelfInt () const
 Get the flag of checking self-intersection.
 
void SetSelfInt (bool aChech)
 Set the flag of checking self-intersection.
 
bool GetEdgeConnType (bool isFirst=true) const
 Get setting parameters of lateral faces.
 
void SetEdgeConnType (bool connType, bool isFirst=true)
 Set setting parameters of lateral faces.
 
const MbVector3DGetBoundDirection (size_t num) const
 Get the direction vector. More...
 
void SetBoundDirection (size_t num, const MbVector3D *aDirect)
 Set the direction vector. More...
 
bool IsSame (const JoinSurfaceValues &other, double accuracy) const
 Determine whether an object is equal?
 

Public Attributes

JoinConnType connType1
 Join type of surface of the joint with the surface 1.
 
JoinConnType connType2
 Join type of surface of the joint with the surface 2.
 
double tension1
 Tension for joining with surface 1.
 
double tension2
 Tension for joining with surface 2.
 
SArray< double > breaks0
 Splitting parameters of the first curve0 curve.
 
SArray< double > breaks1
 Splitting parameters of the first curve1 curve.
 
bool checkSelfInt
 Find self-intersections.
 
bool edgeConnType1
 Construct lateral boundary as edge extension.
 
bool edgeConnType2
 Construct lateral boundary as edge extension.
 
MbVector3DboundDirection11
 Direction vector determines lateral boundary in the point (0, 0) of the surface.
 
MbVector3DboundDirection12
 Direction vector determines lateral boundary in the point (1, 0) of the surface.
 
MbVector3DboundDirection21
 Direction vector determines lateral boundary in the point (0, 1) of the surface.
 
MbVector3DboundDirection22
 Direction vector determines lateral boundary in the point (1, 1) of the surface.
 

Detailed Description

Data for construction of surface of the joint.

Data for the construction of surface of the joint by two curves on the surfaces.

Member Enumeration Documentation

◆ JoinConnType

Type of surfaces join.

Types of join of surfaces determines join of edge of joining surface and surface of the joint.

Enumerator
js_Position 

By position.

js_NormPlus 

Along the normal in the positive direction of normal vector.

js_NormMinus 

Along the normal in the negative direction of normal vector.

js_G1Plus 

The type of conjugation along the tangent to the surface, to the left along the tangent to the intersection curve.

js_G1Minus 

The type of conjugation along the tangent to the surface, to the right along the tangent to the intersection curve.

js_G2Plus 

The type of conjugation along the tangent to the surface, to the left along the tangent to the intersection curve, smooth.

js_G2Minus 

The type of conjugation along the tangent to the surface, to the right along the tangent to the intersection curve, smooth.

Member Function Documentation

◆ GetBoundDirection()

const MbVector3D* JoinSurfaceValues::GetBoundDirection ( size_t  num) const

Get the direction vector.

Get the direction vector determining lateral boundary.

Parameters
[in]num- The index of boundary:
num = 1 - vector boundDirection11,
num = 2 - vector boundDirection12,
num = 3 - vector boundDirection21,
num = 4 - vector boundDirection22.

◆ SetBoundDirection()

void JoinSurfaceValues::SetBoundDirection ( size_t  num,
const MbVector3D aDirect 
)

Set the direction vector.

Set the direction vector determining lateral boundary.

Parameters
[in]num- The index of boundary:
num = 1 - change vector boundDirection11,
num = 2 - change vector boundDirection12,
num = 3 - change vector boundDirection21,
num = 4 - change vector boundDirection22.
[in]aDirect- The new direction vector.

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