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

Plane.h

00001 /*************************************************************************** 00002 * This file is part of OpenCAL: Open Computer Animation Library * 00003 * I created OpenCAL as my master's thesis Computer Science (multimedia) * 00004 * at the tUL university in Diepenbeek, Belgium * 00005 * * 00006 * Copyright (C) 2003-2004 by Jeroen Dierckx * 00007 * jeroen.dierckx@student.luc.ac.be * 00008 * * 00009 ***************************************************************************/ 00010 00011 #ifndef OPENCAL_PLANE_H 00012 #define OPENCAL_PLANE_H 00013 00014 // Includes 00015 #include <OpenCAL/global.h> 00016 #include <OpenCAL/RigidObject.h> 00017 #include <OpenCAL/TriangleMesh.h> 00018 00019 #include <OpenCAL/Vector3.h> 00020 using OpenCAL::Utils::Vector3; 00021 00022 00023 namespace OpenCAL 00024 { 00025 // Forward declarations 00026 00030 class OPENCAL_API Plane: public RigidObject 00031 { 00032 protected: 00033 // Member variables 00034 TriangleMesh m_surface; 00035 Vector3 m_normal; 00036 00037 public: 00038 // Constructors and destructor 00039 Plane(System *parent); 00040 Plane(System *parent, const Vector3 &position, const Vector3 &normal); 00042 virtual ~Plane(); 00043 00044 // Get functions 00045 const TriangleMesh &getSurface() const { return m_surface; } 00046 TriangleMesh *getSurfaceP() { return &m_surface; } 00047 const Vector3 &getNormal() const { return m_normal; } 00048 Vector3 *getNormalP() { return &m_normal; } 00049 00050 // Set functions 00051 00052 // Other functions 00053 virtual void render(); 00054 float distance(const Vector3 &point) const; 00055 /* 00056 #ifdef USE_OPENGL 00057 virtual void initializeGL(); 00058 #endif // USE_OPENGL 00059 */ 00060 }; 00061 } 00062 00063 #endif // OPENCAL_PLANE_H

Generated on Sun Aug 15 19:19:23 2004 for OpenCAL: Open Computer Animation Library by doxygen 1.3.8