C3D Toolkit  Kernel - 107186, Vision - 190715.107186
+ Граф связей класса Вычисление инерционных характеристик:

Классы

class  MIProperties
 Массо-центровочные характеристики кривой. Подробнее...
 
class  MI3DProperties
 Oбъемные массо-центровочные характеристки. Подробнее...
 
struct  FormDefinition
 Oписание формы контура. Подробнее...
 
class  InertiaProperties
 Инерционные характеристики тела. Подробнее...
 
class  SolidMIAttire
 Тело, его характеристики и матрицы преобразования копий тела. Подробнее...
 
class  AssemblyMIAttire
 Сборка. Подробнее...
 

Функции

void MassInertiaProperties (const MbCurve *curve, MIProperties &mp, double deviateAngle=Math::deviateSag)
 Определение массо-центровочных характеристик. Подробнее...
 
void MassInertiaProperties (const RPArray< const MbCurve > &curves, const SArray< bool > &bodies, MIProperties &mp, double deviateAngle=Math::deviateSag)
 Определение массо-центровочных характеристик. Подробнее...
 
void MassInertia3DProperties (bool revolution, const RPArray< MbCurve > &curves, const SArray< FormDefinition > &formes, MI3DProperties &mp, double deviateAngle=Math::deviateSag)
 Расчет объемных массо-центровочных характеристик. Подробнее...
 
double CalculateArea (const MbSurface &surface, double angle=Math::deviateSag)
 Определить площадь. Подробнее...
 
double CalculateVolume (const MbSolid &solid, double angle)
 Определить объем. Подробнее...
 
double CalculateVolume (const MbMesh &mesh)
 Определить объем. Подробнее...
 
double CalculateAreaCentre (const MbFaceShell &shell, double angle, MbCartPoint3D &centre)
 Определить площадь и центр масс. Подробнее...
 
double CalculateAreaCentre (const MbFace &face, double angle, bool byOuter, VERSION version, MbCartPoint3D &centre)
 Определить площадь и центр масс. Подробнее...
 
double CalculateArea (const RPArray< MbFace > &faces, double deviateAngle)
 Определение площади поверхности граней. Подробнее...
 
double CalculateArea (const MbFace &face, double deviateAngle)
 Определение площади. Подробнее...
 
void MassInertiaProperties (const MbSolid *solid, double density, double deviateAngle, InertiaProperties &mp, IfProgressIndicator *progress=NULL)
 Вычисление масс-центровочных характеристик. Подробнее...
 
void MassInertiaProperties (const RPArray< MbSolid > &solids, const SArray< double > &densities, const SArray< MbMatrix3D > &matrs, const RPArray< InertiaProperties > &mpSolids, double deviateAngle, InertiaProperties &mp, IfProgressIndicator *progress=NULL)
 Вычисление масс-центровочных характеристик. Подробнее...
 
void MassInertiaProperties (const AssemblyMIAttire &assembly, double deviateAngle, InertiaProperties &mp, IfProgressIndicator *progress=NULL)
 Вычисление масс-центровочных характеристик. Подробнее...
 
void MassInertiaProperties (const MbMesh *mesh, double density, InertiaProperties &mp)
 Вычисление масс-центровочных характеристик. Подробнее...
 
void MassInertiaProperties (const std::vector< const MbMesh *> &solids, const std::vector< double > &densities, const std::vector< MbMatrix3D > &matrix, InertiaProperties &mp)
 Вычисление масс-центровочных характеристик. Подробнее...
 

Подробное описание

Функции

◆ MassInertiaProperties() [1/7]

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

Определение массо-центровочных характеристик.

Определение массо-центровочных характеристик кривой.
x0, y0 - координаты центра тяжести,
f - площадь,
mxx, myy - моменты инерции относительно осей, параллельных осям x и y и проходящих через центр тяжести,
mxy - центробежный момент инерции относительно осей, параллельных осям x и y и проходящих через центр тяжести,
mxx0, myy0 - главные центральные моменты инерции,
a - угол между первой главной осью и осью x.

Аргументы
[in]curve- Кривая.
[out]

◆ MassInertiaProperties() [2/7]

void MassInertiaProperties ( const RPArray< const MbCurve > &  curves,
const SArray< bool > &  bodies,
MIProperties mp,
double  deviateAngle = Math::deviateSag 
)

Определение массо-центровочных характеристик.

Определение массо-центровочных характеристик кривых.

Аргументы
[in]curves- Набор кривых.
[in]bodies- Набор флагов для каждой кривой:
если true - массо-центровочные характеристики кривой прибавляются к общему результату,
если false - массо-центровочные характеристики кривой вычитаются из общего результата.
Количество флагов должно совпадать с количеством кривых.
[out]mp- Результат - суммарные массо-центровочные характеристики.
[in]deviateAngle- Угловое отклонение касательных кривой в соседних точках на участке численного интегрирования.

◆ MassInertia3DProperties()

void MassInertia3DProperties ( bool  revolution,
const RPArray< MbCurve > &  curves,
const SArray< FormDefinition > &  formes,
MI3DProperties mp,
double  deviateAngle = Math::deviateSag 
)

Расчет объемных массо-центровочных характеристик.

Расчет объемных массо-центровочных характеристик.

Аргументы
[in]revolution- Если true - параметр описания формы контура считается углом,
если false - толщиной.
[in]curves- Набор кривых.
[in]formes- Описание формы для каждой кривой.
Количество элементов должно совпадать с количеством кривых.
[out]mp- Результат - массо-центровочные характеристики.
[in]deviateAngle- Угловое отклонение касательных кривой в соседних точках на участке численного интегрирования.

◆ CalculateArea() [1/3]

double CalculateArea ( const MbSurface surface,
double  angle = Math::deviateSag 
)

Определить площадь.

Определить площадь поверхности.

Аргументы
[in]surface- Поверхность.
[in]angle- Ограничение углового отклонения при аппроксимации оболочки треугольными пластинами.
Возвращает
Площадь поверхности.

◆ CalculateVolume() [1/2]

double CalculateVolume ( const MbSolid solid,
double  angle 
)

Определить объем.

Определить объем тела.

Аргументы
[in]solid- Тело.
[in]angle- Ограничение углового отклонения при аппроксимации оболочки треугольными пластинами.
Возвращает
Значение объема тела.

◆ CalculateVolume() [2/2]

double CalculateVolume ( const MbMesh mesh)

Определить объем.

Определить объем полигонального объекта.

Аргументы
[in]mesh- Пполигональный объект.
Возвращает
Значение объема полигонального объекта.

◆ CalculateAreaCentre() [1/2]

double CalculateAreaCentre ( const MbFaceShell shell,
double  angle,
MbCartPoint3D centre 
)

Определить площадь и центр масс.

Определить площадь поверхности оболочки и центр масс этой поверхности.
В общем случае центр масс объёма объекта не совпадает с центром масс его поверхности.

Аргументы
[in]shell- Оболочка.
[in]angle- Ограничение углового отклонения при аппроксимации оболочки треугольными пластинами.
[out]centre- Центр масс площади оболочки.


Возвращает
Площадь поверхности оболочки.

◆ CalculateAreaCentre() [2/2]

double CalculateAreaCentre ( const MbFace face,
double  angle,
bool  byOuter,
VERSION  version,
MbCartPoint3D centre 
)

Определить площадь и центр масс.

Определить площадь поверхности грани и центр масс этой поверхности.
В общем случае центр масс объёма объекта не совпадает с центром масс его пловерхности.

Аргументы
[in]face- Грань.
[in]angle- Ограничение углового отклонения при аппроксимации грани треугольными пластинами.
[in]byOuter- При true расчет выполняется только по внешней границе без учёта внутренних вырезов грани.
[in]version- Версия, по умолчанию - последняя.
[out]centre- Центр масс площади грани.
Возвращает
Площадь поверхности грани.

◆ CalculateArea() [2/3]

double CalculateArea ( const RPArray< MbFace > &  faces,
double  deviateAngle 
)

Определение площади поверхности граней.

Определение площади поверхности граней. Определение выполняется методом вычисления масс-центровочных характеристик набора граней.

Заметки
В многопоточном режиме выполняется параллельно.
Аргументы
[in]faces- Набор граней.
[in]deviateAngle- Параметр управления точностью расчёта - угловое отклонение нормали поверхности или касательных кривой на участке численного интегрирования.
Возвращает
Площадь граней.

◆ CalculateArea() [3/3]

double CalculateArea ( const MbFace face,
double  deviateAngle 
)

Определение площади.

Определение площади поверхности грани.

Аргументы
[in]face- Грань.
[in]deviateAngle- Параметр управления точностью расчёта - угловое отклонение нормали поверхности или касательных кривой на участке численного интегрирования.
Возвращает
Площадь грани.

◆ MassInertiaProperties() [3/7]

void MassInertiaProperties ( const MbSolid solid,
double  density,
double  deviateAngle,
InertiaProperties mp,
IfProgressIndicator progress = NULL 
)

Вычисление масс-центровочных характеристик.

Вычисление масс-центровочных характеристик тела.

Заметки
В многопоточном режиме mtm_Items выполняется параллельно.
Аргументы
[in]solid- Тело.
[in]density- Плотность (solid->IsClosed()) или удельная масса на единицу площади (!solid->IsClosed()).
[in]deviateAngle- Параметр управления точностью расчёта - угловое отклонение нормали поверхности или касательных кривой на участке численного интегрирования.
[out]mp- Рассчитанные инерционные характеристики.
[in]progress- Индикатор прогресса выполнения.

◆ MassInertiaProperties() [4/7]

void MassInertiaProperties ( const RPArray< MbSolid > &  solids,
const SArray< double > &  densities,
const SArray< MbMatrix3D > &  matrs,
const RPArray< InertiaProperties > &  mpSolids,
double  deviateAngle,
InertiaProperties mp,
IfProgressIndicator progress = NULL 
)

Вычисление масс-центровочных характеристик.

Вычисление масс-центровочных характеристик тел.

Заметки
В многопоточном режиме выполняется параллельно.
Аргументы
[in]solids- Тела.
[in]densities- Плотности тел или удельная масса на единицу площади.
Количество элементов в массиве должно совпадать с количеством тел.
[in]matrs- Матрицы преобразования тел в глобальную систему координат.
Количество элементов в массиве должно совпадать с количеством тел.
[in]mpSolids- Имеющиеся характеристики тел. Может содержать NULL.
Количество элементов в массиве должно совпадать с количеством тел.
[in]deviateAngle- Параметр управления точностью расчёта - угловое отклонение нормали поверхности или касательных кривой на участке численного интегрирования.
[out]mp- Рассчитанные инерционные характеристики.
[in]progress- Индикатор прогресса выполнения.

◆ MassInertiaProperties() [5/7]

void MassInertiaProperties ( const AssemblyMIAttire assembly,
double  deviateAngle,
InertiaProperties mp,
IfProgressIndicator progress = NULL 
)

Вычисление масс-центровочных характеристик.

Вычисление масс-центровочных характеристик сборки.

Заметки
В многопоточном режиме m_Items выполняется параллельно.
Аргументы
[in]assembly- Сборка.


Аргументы
[in]deviateAngle- Параметр управления точностью расчёта - угловое отклонение нормали поверхности или касательных кривой на участке численного интегрирования.
[out]mp- Рассчитанные инерционные характеристики.
[in]progress- Индикатор прогресса выполнения.

◆ MassInertiaProperties() [6/7]

void MassInertiaProperties ( const MbMesh mesh,
double  density,
InertiaProperties mp 
)

Вычисление масс-центровочных характеристик.

Вычисление масс-центровочных характеристик полигонального объекта.

Заметки
В многопоточном режиме выполняется параллельно.
Аргументы
[in]solid- Полигональный объект.
[in]density- Плотность или удельная масса на единицу площади.
[out]mp- Рассчитанные инерционные характеристики.

◆ MassInertiaProperties() [7/7]

void MassInertiaProperties ( const std::vector< const MbMesh *> &  solids,
const std::vector< double > &  densities,
const std::vector< MbMatrix3D > &  matrix,
InertiaProperties mp 
)

Вычисление масс-центровочных характеристик.

Вычисление масс-центровочных характеристик множества полигональных объектов.

Заметки
В многопоточном режиме выполняется параллельно.
Аргументы
[in]solids- Множество полигональных объектов.
[in]densities- Плотности объектов или удельная масса на единицу площади.
Количество элементов в массиве должно совпадать с количеством объектов.
[in]matrs- Матрицы преобразования полигональных объектов в глобальную систему координат.
Количество элементов в массиве должно совпадать с количеством объектов.
[out]mp- Рассчитанные инерционные характеристики.