Open CASCADE Technology
7.7.0

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.e10 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 checking equality of moments If aTol == 0, relative tolerance is ~ 1.e16 (Epsilon(I)) More...  
Standard_Boolean  HasSymmetryPoint () const 
returns true if the geometric system has a point of symmetry. For comparing moments relative tolerance 1.e10 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 checking equality of moments If aTol == 0, relative tolerance is ~ 1.e16 (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...  
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.
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.e10 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 checking equality of moments If aTol == 0, relative tolerance is ~ 1.e16 (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.e10 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 checking equality of moments If aTol == 0, relative tolerance is ~ 1.e16 (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 :
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:
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 system has a point of symmetry or an axis of symmetry the second and the third axis of symmetry are undefined.