C3D Toolkit
Kernel - 117982, Vision - 2.9.2.2
|
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. More... | |
void | MassInertiaProperties (const RPArray< const MbCurve > &curves, const c3d::BoolVector &bodies, MIProperties &mp, double deviateAngle=Math::deviateSag) |
Determination of mass-inertial properties. More... | |
void | MassInertia3DProperties (bool revolution, const RPArray< MbCurve > &curves, const SArray< FormDefinition > &formes, MI3DProperties &mp, double deviateAngle=Math::deviateSag) |
Calculate volume mass-inertial properties. More... | |
double | CalculateArea (const MbSurface &surface, double angle=Math::deviateSag) |
Determine area. More... | |
double | CalculateVolume (const MbSolid &solid, double angle) |
Determine volume. More... | |
double | CalculateVolume (const MbMesh &mesh) |
Determine volume. More... | |
double | CalculateAreaCentre (const MbFaceShell &shell, double angle, MbCartPoint3D ¢re) |
Determine area and center of mass. More... | |
double | CalculateAreaCentre (const MbFace &face, double angle, bool byOuter, VERSION version, MbCartPoint3D ¢re) |
Determine area and center of mass. More... | |
double | CalculateArea (const RPArray< MbFace > &faces, double deviateAngle) |
Determination of faces area. More... | |
double | CalculateArea (const MbFace &face, double deviateAngle) |
Determination of area. More... | |
void | MassInertiaProperties (const MbSolid *solid, double density, double deviateAngle, InertiaProperties &mp, IfProgressIndicator *progress=nullptr) |
Calculation of mass-inertial properties. More... | |
void | MassInertiaProperties (const RPArray< MbSolid > &solids, const SArray< double > &densities, const SArray< MbMatrix3D > &matrs, const RPArray< InertiaProperties > &mpSolids, double deviateAngle, InertiaProperties &mp, IfProgressIndicator *progress=nullptr) |
Calculation of mass-inertial properties. More... | |
void | MassInertiaProperties (const AssemblyMIAttire &assembly, double deviateAngle, InertiaProperties &mp, IfProgressIndicator *progress=nullptr) |
Calculation of mass-inertial properties. More... | |
void | MassInertiaProperties (const MbMesh *mesh, double density, InertiaProperties &mp) |
Calculation of mass-inertial properties. More... | |
void | MassInertiaProperties (const std::vector< const MbMesh * > &meshes, const std::vector< double > &densities, const std::vector< MbMatrix3D > &matrices, InertiaProperties &mp) |
Calculation of mass-inertial properties. More... | |
void MassInertiaProperties | ( | const MbCurve * | curve, |
MIProperties & | mp, | ||
double | deviateAngle = Math::deviateSag |
||
) |
Determination of mass-inertial properties.
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.
[in] | curve | - Curve. |
[out] |
void MassInertiaProperties | ( | const RPArray< const MbCurve > & | curves, |
const c3d::BoolVector & | bodies, | ||
MIProperties & | mp, | ||
double | deviateAngle = Math::deviateSag |
||
) |
Determination of mass-inertial properties.
Determine mass-inertial properties of curves.
[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.
Calculate volume mass-inertial properties.
[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 area.
Determine surface area.
[in] | surface | - The surface. |
[in] | angle | - Bounding of angular deviation during shell approximation by triangular plates. |
double CalculateVolume | ( | const MbSolid & | solid, |
double | angle | ||
) |
Determine volume.
Determine volume of solid.
[in] | solid | - A solid. |
[in] | angle | - Bounding of angular deviation during shell approximation by triangular plates. |
double CalculateVolume | ( | const MbMesh & | mesh | ) |
Determine volume.
Determine volume of polygonal object.
[in] | mesh | - A polygonal object. |
double CalculateAreaCentre | ( | const MbFaceShell & | shell, |
double | angle, | ||
MbCartPoint3D & | centre | ||
) |
Determine area and center of mass.
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.
[in] | shell | - A shell. |
[in] | angle | - Bounding of angular deviation during shell approximation by triangular plates. |
[out] | centre | - Center of mass of shell area. |
double CalculateAreaCentre | ( | const MbFace & | face, |
double | angle, | ||
bool | byOuter, | ||
VERSION | version, | ||
MbCartPoint3D & | centre | ||
) |
Determine area and center of mass.
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.
[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. |
Determination of faces area.
Determination of area of set of faces.
[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. |
double CalculateArea | ( | const MbFace & | face, |
double | deviateAngle | ||
) |
Determination of area.
Determination of face surface area.
[in] | face | - A face. |
[in] | deviateAngle | - Tolerance - the angular deviation of surface or curve in the neighboring points on the region of numerical integration. |
void MassInertiaProperties | ( | const MbSolid * | solid, |
double | density, | ||
double | deviateAngle, | ||
InertiaProperties & | mp, | ||
IfProgressIndicator * | progress = nullptr |
||
) |
Calculation of mass-inertial properties.
Calculation of solid mass-inertial properties.
[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 RPArray< InertiaProperties > & | mpSolids, | ||
double | deviateAngle, | ||
InertiaProperties & | mp, | ||
IfProgressIndicator * | progress = nullptr |
||
) |
Calculation of mass-inertial properties.
Calculation of mass-inertial properties of solids.
[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 to global coordinate system. Count of elements in array must be equal to count of solids. |
[in] | mpSolids | - Calculated properties of solids. Can contain nullptr. 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 = nullptr |
||
) |
Calculation of mass-inertial properties.
Calculation of mass-inertial properties of assembly.
[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. |
void MassInertiaProperties | ( | const MbMesh * | mesh, |
double | density, | ||
InertiaProperties & | mp | ||
) |
Calculation of mass-inertial properties.
Calculation mass-inertial properties of polygonal object.
[in] | mesh | - A polygonal object. |
[in] | density | - Density or mass per unit square. |
[out] | mp | - Calculated inertial properties. |
void MassInertiaProperties | ( | const std::vector< const MbMesh * > & | meshes, |
const std::vector< double > & | densities, | ||
const std::vector< MbMatrix3D > & | matrices, | ||
InertiaProperties & | mp | ||
) |
Calculation of mass-inertial properties.
Calculation of mass-inertial properties of polygonal objects.
[in] | meshes | - Set of polygonal objects. |
[in] | densities | - Density of solids or mass per unit square of polygonal objects. Count of elements in array must be equal to count of polygonal objects. |
[in] | matrices | - Matrices of solids transformation to global coordinate system. Count of elements in array must be equal to count of polygonal objects. |
[out] | mp | - Calculated inertial properties. |