|
Open CASCADE Technology
6.7.1
|
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 <br> in the current system. | |
| const gp_Vec & | FirstAxisOfInertia () const |
returns the first axis of inertia. <br> if the system has a point of symmetry there is an infinity of | |
| const gp_Vec & | SecondAxisOfInertia () const |
returns the second axis of inertia. <br> if the system has a point of symmetry or an axis of symmetry the | |
| const gp_Vec & | ThirdAxisOfInertia () const |
returns the third axis of inertia. <br> This and the above functions return the first, second or third eigen vector of the <br> matrix of inertia of the current system. | |
| void | RadiusOfGyration (Standard_Real &Rxx, Standard_Real &Ryy, Standard_Real &Rzz) const |
Returns the principal radii of gyration Rxx, Ryy <br> and Rzz are the radii of gyration of the current | |
Friends | |
| GProp_PrincipalProps | GProp_GProps::PrincipalProperties () const |
Computes the principal properties of inertia of the current system. <br> There is always a set of axes for which the products | |
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.
| GProp_PrincipalProps::GProp_PrincipalProps | ( | ) |
creates an undefined PrincipalProps.
| const gp_Vec& GProp_PrincipalProps::FirstAxisOfInertia | ( | ) | const |
returns the first axis of inertia. <br>
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 <br>
in the current system.
Notes :
| void GProp_PrincipalProps::RadiusOfGyration | ( | Standard_Real & | Rxx, |
| Standard_Real & | Ryy, | ||
| Standard_Real & | Rzz | ||
| ) | const |
Returns the principal radii of gyration Rxx, Ryy <br>
and Rzz are the radii of gyration of the current
system about its three principal axes of inertia.
Note that:
| const gp_Vec& GProp_PrincipalProps::SecondAxisOfInertia | ( | ) | const |
returns the second axis of inertia. <br>
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. <br> This and the above functions return the first, second or third eigen vector of the <br>
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:
|
friend |
Computes the principal properties of inertia of the current system. <br>
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.
1.8.5