Open CASCADE Technology  7.4.0
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. More...
 
void SetLocation (const gp_Pnt &theLocation)
 Sets the point relative which the calculation is to be done. More...
 
void Perform (const 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. More...
 
void Perform (const TColgp_Array1OfPnt &theNodes, const Poly_Array1OfTriangle &theTriangles, const TopAbs_Orientation theOri)
 
BRepGProp_MeshObjType GetMeshObjType () const
 Get type of mesh object. More...
 
- 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. More...
 
 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. More...
 
void Add (const GProp_GProps &Item, const Standard_Real Density=1.0)
 Either. More...
 
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 : More...
 
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. More...
 
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. More...
 
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. More...
 
Standard_Real MomentOfInertia (const gp_Ax1 &A) const
 computes the moment of inertia of the material system about the axis A. More...
 
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. More...
 
Standard_Real RadiusOfGyration (const gp_Ax1 &A) const
 Returns the radius of gyration of the current system about the axis A. More...
 

Static Public Member Functions

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

Additional Inherited Members

- Protected Attributes inherited from GProp_GProps
gp_Pnt g
 
gp_Pnt loc
 
Standard_Real dim
 
gp_Mat inertia
 

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 Standard_Boolean  isVolume,
Standard_Real  GProps[10],
const Standard_Integer  NbGaussPoints,
const Standard_Real 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 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.

◆ Perform() [2/2]

void BRepGProp_MeshProps::Perform ( const TColgp_Array1OfPnt theNodes,
const Poly_Array1OfTriangle theTriangles,
const TopAbs_Orientation  theOri 
)

◆ 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: