Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members

3dsmesh.h

Go to the documentation of this file.
00001 // 3dsmesh.h
00002 // 
00003 // Copyright (C) 2001, Chris Laurel <claurel@shatters.net>
00004 //
00005 // This program is free software; you can redistribute it and/or
00006 // modify it under the terms of the GNU General Public License
00007 // as published by the Free Software Foundation; either version 2
00008 // of the License, or (at your option) any later version.
00009 
00010 #ifndef _CELENGINE_3DSMESH_H_
00011 #define _CELENGINE_3DSMESH_H_
00012 
00013 #include <vector>
00014 #include <string>
00015 #include <celmath/frustum.h>
00016 #include <celengine/mesh.h>
00017 #include <celengine/vertexlist.h>
00018 #include <cel3ds/3dsmodel.h>
00019 
00020 class Mesh3DS : public Mesh
00021 {
00022  public:
00023     Mesh3DS(const M3DScene& scene, const std::string& texturePath);
00024     ~Mesh3DS();
00025 
00026     void render(float lod);
00027     void render(unsigned int attributes, float lod);
00028     void render(unsigned int attributes, const Frustum&, float lod);
00029     bool pick(const Ray3d& ray, double& distance);
00030     void normalize(const Vec3f& centerOffset);
00031 
00032  private:
00033     typedef std::vector<VertexList*> VertexListVec;
00034     VertexListVec vertexLists;
00035 };
00036 
00037 #endif // _CELENGINE_3DSMESH_H_

Generated on Sat Jan 14 22:30:26 2006 for Celestia by  doxygen 1.4.1