#include <GProp_GProps.hxx>
Inheritance diagram for GProp_GProps:
Public Member Functions | |
void * | operator new (size_t, void *anAddress) |
void * | operator new (size_t size) |
void | operator delete (void *anAddress) |
Standard_EXPORT | GProp_GProps () |
The origin (0, 0, 0) of the absolute cartesian coordinate system is used to compute the global properties. . | |
Standard_EXPORT | GProp_GProps (const gp_Pnt &SystemLocation) |
The point SystemLocation is used to compute the gobal properties of the system. For more accuracy it is better to define this point closed to the location of the system. For example it could be a point around the centre of mass of the system. This point is referred to as the reference point for this framework. For greater accuracy it is better for the reference point to be close to the location of the system. It can, for example, be a point near the center of mass of the system. At initialization, the framework is empty; i.e. it retains no dimensional information such as mass, or inertia. However, it is now able to bring together global properties of various other systems, whose global properties have already been computed using another framework. To do this, use the function Add to define the components of the system. Use it once per component of the system, and then use the interrogation functions available to access the computed values. . | |
Standard_EXPORT void | Add (const GProp_GProps &Item, const Standard_Real Density=1.0) |
Either - initializes the global properties retained by this framework from those retained by the framework Item, or - brings together the global properties still retained by this framework with those retained by the framework Item. The value Density, which is 1.0 by default, is used as the density of the system analysed by Item. Sometimes the density will have already been given at the time of construction of the framework Item. This may be the case for example, if Item is a GProp_PGProps framework built to compute the global properties of a set of points ; or another GProp_GProps object which already retains composite global properties. In these cases the real density was perhaps already taken into account at the time of construction of Item. Note that this is not checked: if the density of parts of the system is taken into account two or more times, results of the computation will be false. Notes : - The point relative to which the inertia of Item is computed (i.e. the reference point of Item) may be different from the reference point in this framework. Huygens' theorem is applied automatically to transfer inertia values to the reference point in this framework. - The function Add is used once per component of the system. After that, you use the interrogation functions available to access values computed for the system. - The system whose global properties are already brought together by this framework is referred to as the current system. However, the current system is not retained by this framework, which maintains only its global properties. Exceptions Standard_DomainError if Density is less than or equal to gp::Resolution(). . | |
Standard_EXPORT Standard_Real | Mass () const |
Returns the mass of the current system. If no density is attached to the components of the current system the returned value corresponds to : - the total length of the edges of the current system if this framework retains only linear properties, as is the case for example, when using only the LinearProperties function to combine properties of lines from shapes, or - the total area of the faces of the current system if this framework retains only surface properties, as is the case for example, when using only the SurfaceProperties function to combine properties of surfaces from shapes, or - the total volume of the solids of the current system if this framework retains only volume properties, as is the case for example, when using only the VolumeProperties function to combine properties of volumes from solids. Warning A length, an area, or a volume is computed in the current data unit system. The mass of a single object is obtained by multiplying its length, its area or its volume by the given density. You must be consistent with respect to the units used. . | |
Standard_EXPORT gp_Pnt | CentreOfMass () const |
Returns the center of mass of the current system. If the gravitational field is uniform, it is the center of gravity. The coordinates returned for the center of mass are expressed in the absolute Cartesian coordinate system. . | |
Standard_EXPORT gp_Mat | MatrixOfInertia () const |
returns the matrix of inertia. It is a symmetrical matrix. The coefficients of the matrix are the quadratic moments of inertia. | Ixx Ixy Ixz | matrix = | Ixy Iyy Iyz | | Ixz Iyz Izz | The moments of inertia are denoted by Ixx, Iyy, Izz. The products of inertia are denoted by Ixy, Ixz, Iyz. The matrix of inertia is returned in the central coordinate system (G, Gx, Gy, Gz) where G is the centre of mass of the system and Gx, Gy, Gz the directions parallel to the X(1,0,0) Y(0,1,0) Z(0,0,1) directions of the absolute cartesian coordinate system. It is possible to compute the matrix of inertia at another location point using the Huyghens theorem (you can use the method of package GProp : HOperator). | |
Standard_EXPORT void | StaticMoments (Standard_Real &Ix, Standard_Real &Iy, Standard_Real &Iz) const |
Returns Ix, Iy, Iz, the static moments of inertia of the current system; i.e. the moments of inertia about the three axes of the Cartesian coordinate system. . | |
Standard_EXPORT Standard_Real | MomentOfInertia (const gp_Ax1 &A) const |
computes the moment of inertia of the material system about the axis A. | |
Standard_EXPORT GProp_PrincipalProps | 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. . | |
Standard_EXPORT Standard_Real | RadiusOfGyration (const gp_Ax1 &A) const |
Returns the radius of gyration of the current system about the axis A. . | |
Protected Attributes | |
gp_Pnt | g |
gp_Pnt | loc |
Standard_Real | dim |
gp_Mat | inertia |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Reimplemented in GProp_CelGProps, GProp_PGProps, GProp_SelGProps, and GProp_VelGProps. |
|
Reimplemented in GProp_CelGProps, GProp_PGProps, GProp_SelGProps, and GProp_VelGProps. |
|
Reimplemented in GProp_CelGProps, GProp_PGProps, GProp_SelGProps, and GProp_VelGProps. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|