// This file is generated by WOK (CPPExt).
// Please do not edit this file; modify original file instead.
// The copyright and license terms as defined for the original file apply to 
// this header file considered to be the "object code" form of the original source.

#ifndef _GProp_HeaderFile
#define _GProp_HeaderFile

#include <Standard.hxx>
#include <Standard_DefineAlloc.hxx>
#include <Standard_Macro.hxx>

#include <Standard_Real.hxx>
class gp_Pnt;
class gp_Mat;
class GProp_GProps;
class GProp_PGProps;
class GProp_CelGProps;
class GProp_SelGProps;
class GProp_VelGProps;
class GProp_PrincipalProps;
class GProp_PEquation;



//! This package defines algorithmes to compute the global properties
//! of a set of points, a curve, a surface, a solid (non infinite
//! region of space delimited with geometric entities), a compound
//! geometric system (heterogeneous composition of the previous
//! entities).
//!
//! Global properties are :
//! . length, area, volume,
//! . centre of mass,
//! . axis of inertia,
//! . moments of inertia,
//! . radius of gyration.
//!
//! It provides  also a class to  compile the average point or
//! line of a set of points.
class GProp 
{
public:

  DEFINE_STANDARD_ALLOC

  
  //! methods of package
  //! Computes the matrix Operator, referred to as the
  //! "Huyghens Operator" of a geometric system at the
  //! point Q of the space, using the following data :
  //! - Mass, i.e. the mass of the system,
  //! - G, the center of mass of the system.
  //! The "Huyghens Operator" is used to compute
  //! Inertia/Q, the matrix of inertia of the system at
  //! the point Q using Huyghens' theorem :
  //! Inertia/Q = Inertia/G + HOperator (Q, G, Mass)
  //! where Inertia/G is the matrix of inertia of the
  //! system relative to its center of mass as returned by
  //! the function MatrixOfInertia on any GProp_GProps object.
  Standard_EXPORT static   void HOperator (const gp_Pnt& G, const gp_Pnt& Q, const Standard_Real Mass, gp_Mat& Operator) ;




protected:





private:




friend class GProp_GProps;
friend class GProp_PGProps;
friend class GProp_CelGProps;
friend class GProp_SelGProps;
friend class GProp_VelGProps;
friend class GProp_PrincipalProps;
friend class GProp_PEquation;

};







#endif // _GProp_HeaderFile
