Open CASCADE Technology Reference Manual 8.0.0
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Static Public Member Functions
BRepGProp_MeshProps Class Reference

Computes the global properties of a surface mesh. The mesh can be interpreted as just a surface or as a piece of volume limited by this surface. More...

#include <BRepGProp_MeshProps.hxx>

Inheritance diagram for BRepGProp_MeshProps:
Inheritance graph
[legend]

Public Types

enum  BRepGProp_MeshObjType { Vinert = 0 , Sinert }
 Describes types of geometric objects. More...
 

Public Member Functions

 BRepGProp_MeshProps (const BRepGProp_MeshObjType theType)
 Constructor takes the type of object.
 
void SetLocation (const gp_Pnt &theLocation)
 Sets the point relative which the calculation is to be done.
 
void Perform (const occ::handle< Poly_Triangulation > &theMesh, const TopLoc_Location &theLoc, const TopAbs_Orientation theOri)
 Computes the global properties of a surface mesh of 3D space. Calculation of surface properties is performed by numerical integration over triangle surfaces using Gauss cubature formulas. Depending on the mesh object type used in constructor this method can calculate the surface or volume properties of the mesh.
 
void Perform (const occ::handle< Poly_Triangulation > &theMesh, const TopAbs_Orientation theOri)
 
BRepGProp_MeshObjType GetMeshObjType () const
 Get type of mesh object.
 
- Public Member Functions inherited from GProp_GProps
 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.
 

Static Public Member Functions

static void CalculateProps (const gp_Pnt &p1, const gp_Pnt &p2, const gp_Pnt &p3, const gp_Pnt &Apex, const bool isVolume, double GProps[10], const int NbGaussPoints, const double *GaussPnts)
 Computes the global properties of triangle {p1, p2, p3} relatively point Apex If isVolume = true, volume properties are calculated otherwise - surface ones.
 

Additional Inherited Members

- Protected Attributes inherited from GProp_GProps
gp_Pnt g
 Centre of mass (absolute frame)
 
gp_Pnt loc
 Reference point used for inertia accumulation.
 
double dim
 Total mass / length / area / volume.
 
gp_Mat inertia
 Quadratic moments of inertia matrix.
 

Detailed Description

Computes the global properties of a surface mesh. The mesh can be interpreted as just a surface or as a piece of volume limited by this surface.

Member Enumeration Documentation

◆ BRepGProp_MeshObjType

Describes types of geometric objects.

  • Vinert is 3D closed region of space delimited with Point and surface mesh;
  • Sinert is surface mesh in 3D space.
Enumerator
Vinert 
Sinert 

Constructor & Destructor Documentation

◆ BRepGProp_MeshProps()

BRepGProp_MeshProps::BRepGProp_MeshProps ( const BRepGProp_MeshObjType theType)
inline

Constructor takes the type of object.

Member Function Documentation

◆ CalculateProps()

static void BRepGProp_MeshProps::CalculateProps ( const gp_Pnt & p1,
const gp_Pnt & p2,
const gp_Pnt & p3,
const gp_Pnt & Apex,
const bool isVolume,
double GProps[10],
const int NbGaussPoints,
const double * GaussPnts )
static

Computes the global properties of triangle {p1, p2, p3} relatively point Apex If isVolume = true, volume properties are calculated otherwise - surface ones.

◆ GetMeshObjType()

BRepGProp_MeshObjType BRepGProp_MeshProps::GetMeshObjType ( ) const
inline

Get type of mesh object.

◆ Perform() [1/2]

void BRepGProp_MeshProps::Perform ( const occ::handle< Poly_Triangulation > & theMesh,
const TopAbs_Orientation theOri )

◆ Perform() [2/2]

void BRepGProp_MeshProps::Perform ( const occ::handle< Poly_Triangulation > & theMesh,
const TopLoc_Location & theLoc,
const TopAbs_Orientation theOri )

Computes the global properties of a surface mesh of 3D space. Calculation of surface properties is performed by numerical integration over triangle surfaces using Gauss cubature formulas. Depending on the mesh object type used in constructor this method can calculate the surface or volume properties of the mesh.

◆ SetLocation()

void BRepGProp_MeshProps::SetLocation ( const gp_Pnt & theLocation)
inline

Sets the point relative which the calculation is to be done.


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