Computes global properties (mass, barycentre, inertia matrix) of a weighted set of 3D points.
More...
|
| | GProp_PGProps () |
| | Creates an empty point set, located at the origin, with zero mass.
|
| |
| | GProp_PGProps (const NCollection_Array1< gp_Pnt > &thePnts) |
| | Creates a point set from an array of points (unit mass each).
|
| |
| | GProp_PGProps (const NCollection_Array2< gp_Pnt > &thePnts) |
| | Creates a point set from a 2D array of points (unit mass each).
|
| |
| | GProp_PGProps (const NCollection_Array1< gp_Pnt > &thePnts, const NCollection_Array1< double > &theDensity) |
| | Creates a point set from points and corresponding densities.
|
| |
| | GProp_PGProps (const NCollection_Array2< gp_Pnt > &thePnts, const NCollection_Array2< double > &theDensity) |
| | Creates a point set from 2D arrays of points and corresponding densities.
|
| |
| void | AddPoint (const gp_Pnt &thePnt) |
| | Adds a point with unit mass.
|
| |
| void | AddPoint (const gp_Pnt &thePnt, double theDensity) |
| | Adds a point with a given mass.
|
| |
| | GProp_GProps () |
| | The origin (0, 0, 0) of the absolute Cartesian coordinate system is used to compute the global properties.
|
| |
| | GProp_GProps (const gp_Pnt &SystemLocation) |
| | The point SystemLocation is used to compute the global properties of the system. For greater accuracy, define this point close to the location of the system; for example a point near the centre of mass of the system.
|
| |
| void | Add (const GProp_GProps &Item, const double Density=1.0) |
| | Either:
|
| |
| double | Mass () const |
| | Returns the mass of the current system.
|
| |
| gp_Pnt | CentreOfMass () const |
| | Returns the centre of mass of the current system. With a uniform gravitational field this is also the centre of gravity. The coordinates returned for the centre of mass are expressed in the absolute Cartesian coordinate system.
|
| |
| gp_Mat | MatrixOfInertia () const |
| | Returns the matrix of inertia. It is a symmetric matrix whose coefficients are the quadratic moments of inertia:
|
| |
| void | StaticMoments (double &Ix, double &Iy, double &Iz) const |
| | Returns the static moments of inertia of the current system - i.e. the moments of inertia about the three axes of the absolute Cartesian coordinate system.
|
| |
| double | MomentOfInertia (const gp_Ax1 &A) const |
| | Computes the moment of inertia of the system about the axis A.
|
| |
| 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 coincides with the centre of mass of the system. The associated moments are called the principal moments of inertia.
|
| |
| double | RadiusOfGyration (const gp_Ax1 &A) const |
| | Returns the radius of gyration of the current system about the axis A.
|
| |
Computes global properties (mass, barycentre, inertia matrix) of a weighted set of 3D points.
Each point carries a mass; by default the mass is unit. Contributions are accumulated incrementally via AddPoint() or from arrays passed to a constructor. As a GProp_GProps subclass, an instance can be composed into a larger system via GProp_GProps::Add().
Inertia is accumulated at the absolute origin and stored in the inherited GProp_GProps::inertia member, matching the legacy contract of this class.