C3D Kernel  104598
Classes | Functions
Mass-Inertial Properties
Geometric Computations Methods
Collaboration diagram for Mass-Inertial Properties:

Classes

class  MIProperties
 Mass-inertial properties of curve. More...
class  MI3DProperties
 Volume mass-inertial properties. More...
struct  FormDefinition
 Contour shape description. More...
class  InertiaProperties
 Inertial properties of solid. More...
class  SolidMIAttire
 Solid, its properties and transformation matrices of solid duplicates. More...
class  AssemblyMIAttire
 Assembly. More...

Functions

void MassInertiaProperties (const MbCurve *curve, MIProperties &mp, double deviateAngle=Math::deviateSag)
 Determination of mass-inertial properties.
void MassInertiaProperties (const RPArray< MbCurve > &curves, const SArray< bool > &bodies, MIProperties &mp, double deviateAngle=Math::deviateSag)
 Determination of mass-inertial properties.
void MassInertia3DProperties (bool revolution, const RPArray< MbCurve > &curves, const SArray< FormDefinition > &formes, MI3DProperties &mp, double deviateAngle=Math::deviateSag)
 Calculate volume mass-inertial properties.
double CalculateArea (const MbSurface &surface, double angle=Math::deviateSag)
 Determine area.
double CalculateVolume (const MbSolid &solid, double angle)
 Determine volume.
double CalculateAreaCentre (const MbFaceShell &shell, double angle, MbCartPoint3D &centre)
 Determine area and center of mass.
double CalculateAreaCentre (const MbFace &face, double angle, bool byOuter, VERSION version, MbCartPoint3D &centre)
 Determine area and center of mass.
double CalculateArea (const RPArray< MbFace > &faces, double deviateAngle)
 Determination of faces area.
double CalculateArea (const MbFace &face, double deviateAngle)
 Determination of area.
void MassInertiaProperties (const MbSolid *solid, double density, double deviateAngle, InertiaProperties &mp, IfProgressIndicator *progress=NULL)
 Calculation of mass-inertial properties.
void MassInertiaProperties (const RPArray< MbSolid > &solids, const SArray< double > &densities, const SArray< MbMatrix3D > &matrs, const PArray< InertiaProperties > &mpSolids, double deviateAngle, InertiaProperties &mp, IfProgressIndicator *progress=NULL)
 Calculation of mass-inertial properties.
void MassInertiaProperties (const AssemblyMIAttire &assembly, double deviateAngle, InertiaProperties &mp, IfProgressIndicator *progress=NULL)
 Calculation of mass-inertial properties.

Function Documentation

void MassInertiaProperties ( const MbCurve curve,
MIProperties mp,
double  deviateAngle = Math::deviateSag 
)

Determination of mass-inertial properties of curve.
x0, y0 - center of gravity coordinates,
f - area,
mxx, myy - moments of inertia relative axes parallel to x and y axes and passes through center of gravity,
mxy - product of inertia relative to axes parallel to x and y axes and passes through center of gravity,
mxx0, myy0 - principal central moments of inertia,
a - angle between first principal axis and x-axis.

Parameters:
[in]curve- Curve.
[out]- Mass-inertial properties of curve as result.
[in]deviateAngle- The angular deviation of the curve in the neighboring points on the region of numerical integration.
void MassInertiaProperties ( const RPArray< MbCurve > &  curves,
const SArray< bool > &  bodies,
MIProperties mp,
double  deviateAngle = Math::deviateSag 
)

Determine mass-inertial properties of curves.

Parameters:
[in]curves- A set of curves.
[in]bodies- Set of flags for each curve:
if true then mass-inertial properties of curve are added to total result,
if false then mass-inertial properties of curve are subtracted from total result.
Count of flags must be equal to count of curves.
[out]mp- Total mass-inertial properties as result.
[in]deviateAngle- The angular deviation of the curve in the neighboring points on the region of numerical integration.
void MassInertia3DProperties ( bool  revolution,
const RPArray< MbCurve > &  curves,
const SArray< FormDefinition > &  formes,
MI3DProperties mp,
double  deviateAngle = Math::deviateSag 
)

Calculate volume mass-inertial properties.

Parameters:
[in]revolution- If true then shape description parameter treats as angle,
If false then treats as thickness.
[in]curves- Set of curves.
[in]formes- Each curve shape description.
Count of elements must be equal to count of curves.
[out]mp- Mass-inertial properties as result.
[in]deviateAngle- The angular deviation of the curve in the neighboring points on the region of numerical integration.
double CalculateArea ( const MbSurface surface,
double  angle = Math::deviateSag 
)

Determine surface area.

Parameters:
[in]surface- The surface.
[in]angle- Bounding of angular deviation during shell approximation by triangular plates.
Returns:
Surface area.
double CalculateVolume ( const MbSolid solid,
double  angle 
)

Determine volume of solid.

Parameters:
[in]solid- A solid.
[in]angle- Bounding of angular deviation during shell approximation by triangular plates.
Returns:
Value of solid volume.
double CalculateAreaCentre ( const MbFaceShell shell,
double  angle,
MbCartPoint3D centre 
)

Determine area of shell surface and its center of mass.
Center of mass of volumetric object doesn't coincide with center of mass of its surface.

Parameters:
[in]shell- A shell.
[in]angle- Bounding of angular deviation during shell approximation by triangular plates.
[out]centre- Center of mass of shell area.
Returns:
Area of shell surface.
double CalculateAreaCentre ( const MbFace face,
double  angle,
bool  byOuter,
VERSION  version,
MbCartPoint3D centre 
)

Determine area of face surface and its center of mass.
Center of mass of volumetric object doesn't coincide with center of mass of its surface.

Parameters:
[in]face- A face.
[in]angle- Bounding of angular deviation during face approximation by triangular plates.
[in]byOuter- If true calculation is performed only on external boundary without taking internal cuts of face into account.
[in]version- Version, last by default.
[out]centre- Center of mass of face area.
Returns:
Face surface area.
double CalculateArea ( const RPArray< MbFace > &  faces,
double  deviateAngle 
)

Determination of area of set of faces.

Note:
In multithreaded mode m_Items runs in parallel.
Parameters:
[in]faces- A set of faces.
[in]deviateAngle- Tolerance - the angular deviation of surface or curve in the neighboring points on the region of numerical integration.
Returns:
Faces area.
double CalculateArea ( const MbFace face,
double  deviateAngle 
)

Determination of face surface area.

Parameters:
[in]face- A face.
[in]deviateAngle- Tolerance - the angular deviation of surface or curve in the neighboring points on the region of numerical integration.
Returns:
Face area.
void MassInertiaProperties ( const MbSolid solid,
double  density,
double  deviateAngle,
InertiaProperties mp,
IfProgressIndicator progress = NULL 
)

Calculation of solid mass-inertial properties.

Note:
In multithreaded mode mtm_Items runs in parallel.
Parameters:
[in]solid- A solid.
[in]density- Density (solid->IsClosed()) or mass per unit square (!solid->IsClosed()).
[in]deviateAngle- Tolerance - the angular deviation of surface or curve in the neighboring points on the region of numerical integration.
[out]mp- Calculated inertial properties.
[in]progress- A run progress indicator.
void MassInertiaProperties ( const RPArray< MbSolid > &  solids,
const SArray< double > &  densities,
const SArray< MbMatrix3D > &  matrs,
const PArray< InertiaProperties > &  mpSolids,
double  deviateAngle,
InertiaProperties mp,
IfProgressIndicator progress = NULL 
)

Calculation of mass-inertial properties of solids.

Note:
In multithreaded mode runs in parallel.
Parameters:
[in]solids- Solids.
[in]densities- Density of solids or mass per unit square of solids.
Count of elements in array must be equal to count of solids.
[in]matrs- Matrices of solids transformation.
Count of elements in array must be equal to count of solids.
[in]mpSolids- Calculated properties of solids. Can contain NULL.
Count of elements in array must be equal to count of solids.
[in]deviateAngle- Tolerance - the angular deviation of surface or curve in the neighboring points on the region of numerical integration.
[out]mp- Calculated inertial properties.
[in]progress- A run progress indicator.
void MassInertiaProperties ( const AssemblyMIAttire assembly,
double  deviateAngle,
InertiaProperties mp,
IfProgressIndicator progress = NULL 
)

Calculation of mass-inertial properties of assembly.

Note:
In multithreaded mode m_Items runs in parallel.
Parameters:
[in]assembly- Assembly.
[in]deviateAngle- Tolerance - the angular deviation of surface or curve in the neighboring points on the region of numerical integration.
[out]mp- Calculated inertial properties.
[in]progress- A run progress indicator.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines