Open CASCADE Technology: GProp_PrincipalProps Class Reference

Open CASCADE Technology 6.8.0

- Main Page
- Related Pages
- Namespaces
- Data Structures
- Files

- Data Structures
- Data Structure Index
- Class Hierarchy
- Data Fields

Public Member Functions | Friends
GProp_PrincipalProps Class Reference

A framework to present the principal properties of inertia of a system of which global properties are computed by a GProp_GProps object. There is always a set of axes for which the products of inertia of a geometric system are equal to 0; i.e. the matrix of inertia of the system is diagonal. These axes are the principal axes of inertia. Their origin is coincident with the center of mass of the system. The associated moments are called the principal moments of inertia. This sort of presentation object is created, filled and returned by the function PrincipalProperties for any GProp_GProps object, and can be queried to access the result. Note: The system whose principal properties of inertia are returned by this framework is referred to as the current system. The current system, however, is retained neither by this presentation framework nor by the GProp_GProps object which activates it. More...

`#include <GProp_PrincipalProps.hxx>`

## Public Member Functions
| GProp_PrincipalProps ()
| creates an undefined PrincipalProps. More...
Standard_Boolean | HasSymmetryAxis () const
| returns true if the geometric system has an axis of symmetry. For comparing moments relative tolerance 1.e-10 is used. Usually it is enough for objects, restricted by faces with analitycal geometry. More...
Standard_Boolean | HasSymmetryAxis (const Standard_Real aTol) const
| returns true if the geometric system has an axis of symmetry. aTol is relative tolerance for cheking equality of moments If aTol == 0, relative tolerance is ~ 1.e-16 (Epsilon(I)) More...
Standard_Boolean | HasSymmetryPoint () const
| returns true if the geometric system has a point of symmetry. For comparing moments relative tolerance 1.e-10 is used. Usually it is enough for objects, restricted by faces with analitycal geometry. More...
Standard_Boolean | HasSymmetryPoint (const Standard_Real aTol) const
| returns true if the geometric system has a point of symmetry. aTol is relative tolerance for cheking equality of moments If aTol == 0, relative tolerance is ~ 1.e-16 (Epsilon(I)) More...
void | Moments (Standard_Real &Ixx, Standard_Real &Iyy, Standard_Real &Izz) const
| Ixx, Iyy and Izz return the principal moments of inertia in the current system. Notes : More...
const gp_Vec & | FirstAxisOfInertia () const
| returns the first axis of inertia. More...
const gp_Vec & | SecondAxisOfInertia () const
| returns the second axis of inertia. More...
const gp_Vec & | ThirdAxisOfInertia () const
| returns the third axis of inertia. This and the above functions return the first, second or third eigen vector of the matrix of inertia of the current system. The first, second and third principal axis of inertia pass through the center of mass of the current system. They are respectively parallel to these three eigen vectors. Note that: More...
void | RadiusOfGyration (Standard_Real &Rxx, Standard_Real &Ryy, Standard_Real &Rzz) const
| Returns the principal radii of gyration Rxx, Ryy and Rzz are the radii of gyration of the current system about its three principal axes of inertia. Note that: More...

## Friends
GProp_PrincipalProps | GProp_GProps::PrincipalProperties () const
| Computes the principal properties of inertia of the current system. There is always a set of axes for which the products of inertia of a geometric system are equal to 0; i.e. the matrix of inertia of the system is diagonal. These axes are the principal axes of inertia. Their origin is coincident with the center of mass of the system. The associated moments are called the principal moments of inertia. This function computes the eigen values and the eigen vectors of the matrix of inertia of the system. Results are stored by using a presentation framework of principal properties of inertia (GProp_PrincipalProps object) which may be queried to access the value sought. More...

## Detailed Description

A framework to present the principal properties of inertia of a system of which global properties are computed by a GProp_GProps object. There is always a set of axes for which the products of inertia of a geometric system are equal to 0; i.e. the matrix of inertia of the system is diagonal. These axes are the principal axes of inertia. Their origin is coincident with the center of mass of the system. The associated moments are called the principal moments of inertia. This sort of presentation object is created, filled and returned by the function PrincipalProperties for any GProp_GProps object, and can be queried to access the result. Note: The system whose principal properties of inertia are returned by this framework is referred to as the current system. The current system, however, is retained neither by this presentation framework nor by the GProp_GProps object which activates it.

## Constructor & Destructor Documentation

GProp_PrincipalProps::GProp_PrincipalProps | ( |  | ) |

creates an undefined PrincipalProps.

## Member Function Documentation

const gp_Vec& GProp_PrincipalProps::FirstAxisOfInertia | ( |  | ) | const

returns the first axis of inertia.

if the system has a point of symmetry there is an infinity of solutions. It is not possible to defines the three axis of inertia.

Standard_Boolean GProp_PrincipalProps::HasSymmetryAxis | ( |  | ) | const

returns true if the geometric system has an axis of symmetry. For comparing moments relative tolerance 1.e-10 is used. Usually it is enough for objects, restricted by faces with analitycal geometry.

Standard_Boolean GProp_PrincipalProps::HasSymmetryAxis | ( | const Standard_Real | aTol | ) | const

returns true if the geometric system has an axis of symmetry. aTol is relative tolerance for cheking equality of moments If aTol == 0, relative tolerance is ~ 1.e-16 (Epsilon(I))

Standard_Boolean GProp_PrincipalProps::HasSymmetryPoint | ( |  | ) | const

returns true if the geometric system has a point of symmetry. For comparing moments relative tolerance 1.e-10 is used. Usually it is enough for objects, restricted by faces with analitycal geometry.

Standard_Boolean GProp_PrincipalProps::HasSymmetryPoint | ( | const Standard_Real | aTol | ) | const

returns true if the geometric system has a point of symmetry. aTol is relative tolerance for cheking equality of moments If aTol == 0, relative tolerance is ~ 1.e-16 (Epsilon(I))

void GProp_PrincipalProps::Moments | ( | Standard_Real & | Ixx,
|  | Standard_Real & | Iyy,
|  | Standard_Real & | Izz
| ) |  | const

Ixx, Iyy and Izz return the principal moments of inertia in the current system. Notes :

- If the current system has an axis of symmetry, two of the three values Ixx, Iyy and Izz are equal. They indicate which eigen vectors define an infinity of axes of principal inertia.
- If the current system has a center of symmetry, Ixx, Iyy and Izz are equal.

void GProp_PrincipalProps::RadiusOfGyration | ( | Standard_Real & | Rxx,
|  | Standard_Real & | Ryy,
|  | Standard_Real & | Rzz
| ) |  | const

Returns the principal radii of gyration Rxx, Ryy and Rzz are the radii of gyration of the current system about its three principal axes of inertia. Note that:

- If the current system has an axis of symmetry, two of the three values Rxx, Ryy and Rzz are equal.
- If the current system has a center of symmetry, Rxx, Ryy and Rzz are equal.

const gp_Vec& GProp_PrincipalProps::SecondAxisOfInertia | ( |  | ) | const

returns the second axis of inertia.

if the system has a point of symmetry or an axis of symmetry the second and the third axis of symmetry are undefined.

const gp_Vec& GProp_PrincipalProps::ThirdAxisOfInertia | ( |  | ) | const

returns the third axis of inertia. This and the above functions return the first, second or third eigen vector of the matrix of inertia of the current system. The first, second and third principal axis of inertia pass through the center of mass of the current system. They are respectively parallel to these three eigen vectors. Note that:

- If the current system has an axis of symmetry, any axis is an axis of principal inertia if it passes through the center of mass of the system, and runs parallel to a linear combination of the two eigen vectors of the matrix of inertia, corresponding to the two eigen values which are equal. If the current system has a center of symmetry, any axis passing through the center of mass of the system is an axis of principal inertia. Use the functions HasSymmetryAxis and HasSymmetryPoint to check these particular cases, where the returned eigen vectors define an infinity of principal axis of inertia.
- The Moments function can be used to know which of the three eigen vectors corresponds to the two eigen values which are equal.

if the system has a point of symmetry or an axis of symmetry the second and the third axis of symmetry are undefined.

## Friends And Related Function Documentation

GProp_PrincipalProps GProp_GProps::PrincipalProperties | ( |  | ) | const
| friend

Computes the principal properties of inertia of the current system. There is always a set of axes for which the products of inertia of a geometric system are equal to 0; i.e. the matrix of inertia of the system is diagonal. These axes are the principal axes of inertia. Their origin is coincident with the center of mass of the system. The associated moments are called the principal moments of inertia. This function computes the eigen values and the eigen vectors of the matrix of inertia of the system. Results are stored by using a presentation framework of principal properties of inertia (GProp_PrincipalProps object) which may be queried to access the value sought.

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

- GProp_PrincipalProps.hxx