Main Page | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | Related Pages

GCS::GForm Class Reference

Defines the geometry of an element. More...

#include <GForm.h>

Inheritance diagram for GCS::GForm:

Inheritance graph
[legend]
Collaboration diagram for GCS::GForm:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 GForm (const GVector3 &position=GVector3(0, 0, 0), const GVector3 &rotation=GVector3(0, 0, 0))
 GForm (const GForm &original)
virtual ~GForm ()
virtual double getRadiusMax () const=0
virtual double getRadiusMin () const=0

Public Attributes

GVector3 Position
GVector3 Rotation
GFormDynamics Dynamics

Detailed Description

Defines the geometry of an element.

Author:
Raphael Langerhorst
GForm represents the form of an object. This includes all kinds of geometric figures like spheres, boxes, cylinders, pyramides, ...

Note that in GForm only parameters for geometric figures are given and no absolute values (face lists) like in a polygonal mesh. Giving absolute values would restrict the flexibility too much. The more computing power is available the more detailed a geometric figure can be calculated. These things should be implemented in specialisations of GForm.

Also note that an object's energy exactly outlines its GForm object. So if one wants to create an element that radiates a certain distance than there have to be at least two elements: one that represents the energy body (which is then the bigger one) and another element that represents it's visible form.

The solidness of a form is given by the objects energy level.

The GForm class itself is just a placeholder for actual form types, which are derived from GForm and implement all abstract methods. Since also the way forms are represented is different from application to application there is no restriction laid upon it by the GForm base class and it is totally left to the form developer to decide how forms should be represented by providing a proper subclass.


Constructor & Destructor Documentation

GCS::GForm::GForm const GVector3 position = GVector3(0,0,0),
const GVector3 rotation = GVector3(0,0,0)
[inline]
 

Initializes form with given attributes.

GCS::GForm::GForm const GForm original  )  [inline]
 

Copy constructor.

virtual GCS::GForm::~GForm  )  [inline, virtual]
 

Virtual destructor makes sure that objects of subclasses get deleted properly.


Member Function Documentation

virtual double GCS::GForm::getRadiusMax  )  const [pure virtual]
 

Every point of the form is guranteed to be inside a sphere with returned radius and a center at GForm::Position.

Returns:
the maximum radius this form has.

Implemented in GBE::GOpenGLForm.

virtual double GCS::GForm::getRadiusMin  )  const [pure virtual]
 

It is guranteed that the form would totally enclose a sphere with returned radius and a center at GForm::Position

Returns:
the minimum radius this form has.

Implemented in GBE::GOpenGLForm.


Member Data Documentation

GFormDynamics GCS::GForm::Dynamics
 

Holds dynamic informationen for moving, ...

GVector3 GCS::GForm::Position
 

The position of the form.

GVector3 GCS::GForm::Rotation
 

The rotation of the form.


The documentation for this class was generated from the following file:
Generated on Thu Oct 21 21:18:23 2004 for G System by doxygen 1.3.6