C3D Toolkit  Kernel - 117982, Vision - 2.9.2.2

Parameters for creating an elementary solid. More...

#include <op_shell_parameter.h>

+ Collaboration diagram for MbElementarySolidParams:

Public Types

enum class  BlockPointType { vertex = 0 , edgeCenter = 1 , faceCenter = 2 }
 The type of point located in the center of the placement of the parallelepiped. More...
 

Public Member Functions

 MbElementarySolidParams (const MbSNameMaker &operNames)
 Elementary solid parameter constructor. More...
 
 MbElementarySolidParams (const ElementaryShellType &solidType, const c3d::SpacePointsVector &points, const MbSNameMaker &operNames)
 Elementary solid parameter constructor. More...
 
 MbElementarySolidParams (const SPtr< const MbElementarySurface > &surface, const MbSNameMaker &operNames)
 Elementary solid parameter constructor. More...
 
 ~MbElementarySolidParams ()
 Destructor.
 
bool Init (const ElementaryShellType &solidType, const c3d::SpacePointsVector &points)
 Initialization method for elementary solid parameters. More...
 
bool Init (const SPtr< const MbElementarySurface > &surface)
 Initialization method for elementary solid parameters. More...
 
bool InitCone (const MbPlacement3D &place, double r1, double r2, bool bHeight, double value)
 Initialization method of elementary solid parameters for cone. More...
 
bool InitSphere (const MbPlacement3D &place, double r)
 Initialization method of elementary solid parameters for sphere. More...
 
bool InitSphere (const MbArc3D &arc)
 Initialization method of elementary solid parameters for sphere. More...
 
bool InitBlock (const MbPlacement3D &place, const MbCartPoint3D &pt, double h1, double h2)
 Method for initializing block body parameters. More...
 
bool InitBlock (const MbPlacement3D &place, double dx, double dy, double h1, double h2, BlockPointType pointType)
 Method for initializing block body parameters. More...
 
bool InitCylinder (const MbPlacement3D &place, double r, double h1, double h2)
 Method for initializing cylinder body parameters. More...
 
bool InitCylinder (const MbArc3D &arc, double h1, double h2)
 Method for initializing cylinder body parameters. More...
 
const MbSNameMakerGetNameMaker () const
 Get the object defining names generation in the operation.
 
const c3d::SpacePointsVectorGetPoints () const
 Get the set of points.
 
const SPtr< const MbElementarySurface > & GetInitSurface () const
 Get the initial surface.
 
const double GetOffsetValue () const
 Get offset.
 
const bool GetIsInvertedValue () const
 Get sign of an inverted body.
 

Public Attributes

ElementaryShellType _solidType
 The solid type.
 

Protected Attributes

c3d::SpacePointsVector _points
 Set of points.
 
SPtr< const MbElementarySurface_initSurface
 Initial surface.
 
c3d::SNameMakerSPtr _operNames
 An object defining names generation in the operation.
 

Detailed Description

Parameters for creating an elementary solid.

Parameters for creating an elementary solid.

Member Enumeration Documentation

◆ BlockPointType

The type of point located in the center of the placement of the parallelepiped.

Enumerator
vertex 

Vertex of a parallelepiped.

edgeCenter 

Center of the parallelepiped edge directed along the Ox axis.

faceCenter 

The center of a face lying in the XY plane.

Constructor & Destructor Documentation

◆ MbElementarySolidParams() [1/3]

MbElementarySolidParams::MbElementarySolidParams ( const MbSNameMaker operNames)

Elementary solid parameter constructor.

Elementary solid parameters constructor with undefined type.

Parameters
[in]operNames- An object for naming the new objects.

◆ MbElementarySolidParams() [2/3]

MbElementarySolidParams::MbElementarySolidParams ( const ElementaryShellType solidType,
const c3d::SpacePointsVector points,
const MbSNameMaker operNames 
)

Elementary solid parameter constructor.

Constructor of parameters for creating an elementary solid by a set of points.

Parameters
[in]solidType- The solid type.
[in]points- Set of points.
[in]operNames- An object for naming the new objects.

◆ MbElementarySolidParams() [3/3]

MbElementarySolidParams::MbElementarySolidParams ( const SPtr< const MbElementarySurface > &  surface,
const MbSNameMaker operNames 
)

Elementary solid parameter constructor.

Constructor of parameters for creating an elementary solid by an elementary surface.

Parameters
[in]surface- Elementary surface.
The acceptable surface types are sphere, torus, cylinder, cone.
[in]operNames- An object for naming the new objects.

Member Function Documentation

◆ Init() [1/2]

bool MbElementarySolidParams::Init ( const ElementaryShellType solidType,
const c3d::SpacePointsVector points 
)

Initialization method for elementary solid parameters.

Initialization method for elementary solid parameters by solid type and a set of points.

Parameters
[in]solidType- The solid type.
[in]points- Set of points.
Returns
Returns true in case of success.

◆ Init() [2/2]

bool MbElementarySolidParams::Init ( const SPtr< const MbElementarySurface > &  surface)

Initialization method for elementary solid parameters.

Initialization method for elementary solid parameters by an elementary surface.

Parameters
[in]surface- Elementary surface.
The acceptable surface types are sphere, torus, cylinder, cone.
Returns
Returns true in case of success.

◆ InitCone()

bool MbElementarySolidParams::InitCone ( const MbPlacement3D place,
double  r1,
double  r2,
bool  bHeight,
double  value 
)

Initialization method of elementary solid parameters for cone.

Initialization method for elementary solid parameters by placement, radiuses of the cone bases and a value that can be the height or angle at the cone vertex.

Parameters
[in]place- Placement.
[in]r1- Radius of the cone base on the XY plane.
[in]r2- Radius of the second cone base, 0 ≤ r2 < r1.
[in]bHeight- If true, then a value is a height, else the value is an angle.
[in]value- If bHeight = true, then value = height (negative or positive), else value = angle at the cone vertex (between two opposite generatrices), 0 < angle < Pi
Returns
Returns true in case of success.

◆ InitSphere() [1/2]

bool MbElementarySolidParams::InitSphere ( const MbPlacement3D place,
double  r 
)

Initialization method of elementary solid parameters for sphere.

Initialization method of elementary solid parameters for sphere by placement and radius of the sphere.

Parameters
[in]place- Placement.
[in]r- Radius of sphere.
Returns
Returns true in case of success.

◆ InitSphere() [2/2]

bool MbElementarySolidParams::InitSphere ( const MbArc3D arc)

Initialization method of elementary solid parameters for sphere.

Initialization method of elementary solid parameters for sphere by an arc that defines the center, diameter, and placement of the sphere.

Parameters
[in]arc- An arc defining the center, diameter, and placement of a sphere.
Returns
Returns true in case of success.

◆ InitBlock() [1/2]

bool MbElementarySolidParams::InitBlock ( const MbPlacement3D place,
const MbCartPoint3D pt,
double  h1,
double  h2 
)

Method for initializing block body parameters.

Method for initializing parameters of a parallelepiped body by placement, diagonal point and heights.

Parameters
[in]place- Placement. The center of placement is one of the vertices of the parallelepiped.
[in]pt- A point whose projection is the vertex of a parallelepiped lying in the XY plane diagonally relative to the center of the placement.
[in]h1- The height of the parallelepiped from the XY plane in the direction of the Z axis.
[in]h2- The height of the parallelepiped from the XY plane is opposite to the Z axis.
Returns
- Returns true in case of success.

◆ InitBlock() [2/2]

bool MbElementarySolidParams::InitBlock ( const MbPlacement3D place,
double  dx,
double  dy,
double  h1,
double  h2,
BlockPointType  pointType 
)

Method for initializing block body parameters.

Method for initializing the parameters of a parallelepiped body by placement, length, width and heights.

Parameters
[in]place- Placement.
[in]dx- Length.
[in]dy- Width.
[in]h1- The height of the parallelepiped from the XY plane in the direction of the Z axis.
[in]h2- The height of the parallelepiped from the XY plane is opposite to the Z axis.
[in]pointType- Type of point located in the center of the placement:
  1. Vertex.
  2. Center of the edge directed along the X axis.
  3. Center of the lower base.
Returns
- Returns true in case of success.

◆ InitCylinder() [1/2]

bool MbElementarySolidParams::InitCylinder ( const MbPlacement3D place,
double  r,
double  h1,
double  h2 
)

Method for initializing cylinder body parameters.

Method for initializing cylinder body parameters by placement, radius and heights.

Parameters
[in]place- Placement.
[in]r- Radius.
[in]h1- The height of the cylinder from the XY plane in the direction of the Z axis.
[in]h2- The height of the cylinder from the XY plane is opposite to the Z axis.
Returns
- Returns true in case of success.

◆ InitCylinder() [2/2]

bool MbElementarySolidParams::InitCylinder ( const MbArc3D arc,
double  h1,
double  h2 
)

Method for initializing cylinder body parameters.

Method for initializing the parameters of a cylinder body by base circumference and heights.

Parameters
[in]arc- Cylinder base.
[in]h1- The height of the cylinder from the XY plane in the direction of the Z axis.
[in]h2- The height of the cylinder from the XY plane is opposite to the Z axis.
Returns
- Returns true in case of success.

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