Main Page   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members  

WPCG::WP_Object Class Reference

#include <WP_ObjectManager.h>

Inheritance diagram for WPCG::WP_Object:

WPCG::WP_DynamicObject WPCG::WP_StaticObject List of all members.

Public Methods

virtual ~WP_Object ()
void drawOpenGL ()
virtual void print () const
scalar getXPos () const
virtual void onCollision ()=0
scalar getYPos () const
scalar getZPos () const
void setXPos (scalar x)
void setYPos (scalar y)
void setZPos (scalar z)
bool isAnimated () const
unsigned short getAnimationCategories (string **strings) const
bool setAnimationCategory (const string &category) const
string getAnimationCategory () const

Public Attributes

WP_Matrix3D matrix
const string object_name
WP_Vector3D dir
WP_Vector3D up
WP_Modelmodel
scalar heading
scalar pitch
scalar roll
PlanesCache planesCache
bool inFrustum
GLuint name_id

Protected Methods

 WP_Object ()
 WP_Object (const WP_Matrix3D &_matrix, const string &name)

Detailed Description

this abstract class represents an object in the 3D scene.Every object consists of the necessary matrices, a name and a pointer to a model, in this way it is possible to use the same 3D models for different instances of the object
Author:
Copyright (C) 2001-2003 W.P. van Paassen peter@paassen.tmfweb.nl
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.


Constructor & Destructor Documentation

virtual WPCG::WP_Object::~WP_Object   [inline, virtual]
 

WPCG::WP_Object::WP_Object   [inline, protected]
 

WPCG::WP_Object::WP_Object const WP_Matrix3D   _matrix,
const string &    name
[protected]
 

Parameters:
_matrix  a WP_Matrix3D object holding the world matrix of this object
name  the name of the object


Member Function Documentation

void WPCG::WP_Object::drawOpenGL  
 

this function is used for drawing the object in OpenGL

unsigned short WPCG::WP_Object::getAnimationCategories string **    strings const
 

string WPCG::WP_Object::getAnimationCategory   const
 

scalar WPCG::WP_Object::getXPos   const [inline]
 

this function returns the x position of the center of the object in the 3D scene

Returns:
the x position of the center of the object in the 3D scene

scalar WPCG::WP_Object::getYPos   const [inline]
 

this function returns the y position of the center of the object in the 3D scene

Returns:
the y position of the center of the object in the 3D scene

scalar WPCG::WP_Object::getZPos   const [inline]
 

this function returns the z position of the center of the object in the 3D scene

Returns:
the z position of the center of the object in the 3D scene

bool WPCG::WP_Object::isAnimated   const
 

virtual void WPCG::WP_Object::onCollision   [pure virtual]
 

Implemented in WPCG::WP_StaticObject.

void WPCG::WP_Object::print   const [virtual]
 

this function prints the actual state of the object to standard output

Reimplemented in WPCG::WP_DynamicObject.

bool WPCG::WP_Object::setAnimationCategory const string &    category const
 

void WPCG::WP_Object::setXPos scalar    x [inline]
 

this function sets the x position of the center of the object in the 3D scene

Parameters:
x  the x position of the center of the object in the 3D scene

void WPCG::WP_Object::setYPos scalar    y [inline]
 

this function sets the y position of the center of the object in the 3D scene

Parameters:
y  the y position of the center of the object in the 3D scene

void WPCG::WP_Object::setZPos scalar    z [inline]
 

this function sets the z position of the center of the object in the 3D scene

Parameters:
z  the z position of the center of the object in the 3D scene


Member Data Documentation

WP_Vector3D WPCG::WP_Object::dir
 

this WP_Vector3D object represents the direction which the object is facing. With the help of this vector and the up vector, it is possible to determine the object's coordinate system and for example to attach a camera to this object in any orientation. This vector is not used for storing velocity information!

scalar WPCG::WP_Object::heading
 

the heading in degrees of the object. In aviation terms this is called yaw

bool WPCG::WP_Object::inFrustum
 

this boolean indicates if the object was in the camera's viewing volume (frustum) the last time the scene was rendered

WP_Matrix3D WPCG::WP_Object::matrix
 

this WP_Matrix3D object holds the world matrix of the object. This matrix is used to render the object with the correct position in the correct orientation in the 3D scene

WP_Model* WPCG::WP_Object::model
 

a pointer to a WP_Model object containing the 3D representation of this object

GLuint WPCG::WP_Object::name_id
 

this integer represents the name of the object. In this way it is possible for OpenGL to distinct between objects. This is for example used by OpenGL for 3D object picking

const string WPCG::WP_Object::object_name
 

a string containing the name of the object

scalar WPCG::WP_Object::pitch
 

Pitch is an aviation term and the pitch of an airplane is the angle that its longitudinal axis (running from tail to nose makes with the horizontal plane

PlanesCache WPCG::WP_Object::planesCache
 

scalar WPCG::WP_Object::roll
 

Roll is an aviation term and an airplane rolls by rotating about its longitudinal axis (running from tail to nose). The roll is the amount of rotation relative to the horizontal plane.

WP_Vector3D WPCG::WP_Object::up
 

this WP_Vector3D object represents the 'upness' of the object. With the help of this vector and the dir vector it is possible to determine the object's coordinate system and for example to attach a camera to this object in any orientation


The documentation for this class was generated from the following files:
Generated on Tue Jan 28 20:26:41 2003 by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002