C3D Toolkit  Kernel - 118069, Vision - 2.16.7.1844

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 MbSNameMaker & GetNameMaker () const
 Get the object defining names generation in the operation.
 
const c3d::SpacePointsVector & GetPoints () const
 Get the set of points.
 
const SPtr< const MbElementarySurface > & GetInitSurface () const
 Get the initial surface.
 
double GetOffsetValue () const
 Get offset.
 
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: