Changeset 6968 in orxonox.OLD for trunk/src/world_entities/environments/movie_entity.cc
- Timestamp:
- Feb 1, 2006, 7:42:35 PM (18 years ago)
- File:
-
- 1 copied
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/world_entities/environments/movie_entity.cc
r6967 r6968 16 16 #define DEBUG_SPECIAL_MODULE DEBUG_MODULE_WORLD_ENTITY 17 17 18 #include " planet.h"18 #include "movie_entity.h" 19 19 20 20 #include "load_param.h" … … 22 22 #include "static_model.h" 23 23 24 #include "material.h"25 #include "texture.h"26 27 #include "network_game_manager.h"28 #include "converter.h"29 #include "vertex_array_model.h"30 #include "primitive_model.h"31 32 24 using namespace std; 33 25 34 26 35 CREATE_FACTORY( Planet, CL_PLANET);27 CREATE_FACTORY(ModelEntity, CL_MODEL_ENTITY); 36 28 37 29 … … 40 32 * initializes a skybox from a XmlElement 41 33 */ 42 Planet::Planet(const TiXmlElement* root)34 ModelEntity::ModelEntity(const TiXmlElement* root) 43 35 { 44 this->setClassID(CL_ PLANET, "Planet");45 this->toList(OM_ GROUP_01);36 this->setClassID(CL_MODEL_ENTITY, "ModelEntity"); 37 this->toList(OM_ENVIRON_NOTICK); 46 38 47 this->material = new Material(); 48 //this->material->setIllum(20); 49 //this->material->setAmbient(0.1, 0.1, 0.1); 50 51 52 53 //st float radius, const unsigned int loops, const unsigned int segmentsPerLoop 54 55 this->loadParams(root); 56 57 // VertexArrayModel* model = new VertexArrayModel(); 58 // model->spiralSphere(this->size, 10, 10); 59 // this->setModel(model); 60 // model->debug(); 61 // 62 PrimitiveModel* model = new PrimitiveModel(PRIM_SPHERE, this->size, 50); 63 this->setModel(model); 39 if (root != NULL) 40 this->loadParams(root); 64 41 } 65 42 … … 68 45 * default destructor 69 46 */ 70 Planet::~Planet()47 ModelEntity::~ModelEntity() 71 48 { 72 PRINTF(5)("Deleting Planet\n");73 if( this->material)74 delete this->material;75 49 } 76 50 77 51 78 void Planet::loadParams(const TiXmlElement* root)79 {80 WorldEntity::loadParams(root);81 82 LoadParam(root, "texture", this, Planet, setTexture)83 .describe("Sets the material on the Planet. The string must be the path relative to the data-dir, and without a trailing .jpg");84 85 LoadParam(root, "size", this, Planet, setSize)86 .describe("Sets the Size of the Planet (normally this should be 90% of the maximal viewing Distance).");87 }88 89 90 /**91 * Defines which textures should be loaded onto the Planet.92 * @param textureName the top texture.93 */94 void Planet::setTexture(const char* textureName)95 {96 this->material->setDiffuseMap(textureName);97 }98 99 100 /**101 * @param size The new size of the Planet102 103 * do not forget to rebuild the Planet after this.104 */105 void Planet::setSize(float size)106 {107 this->size = size;108 }109 110 111 112 void Planet::draw() const113 {114 glMatrixMode(GL_MODELVIEW);115 glPushMatrix();116 117 glShadeModel(GL_SMOOTH);118 119 /* translate */120 glTranslatef (this->getAbsCoor ().x,121 this->getAbsCoor ().y,122 this->getAbsCoor ().z);123 Vector tmpRot = this->getAbsDir().getSpacialAxis();124 glRotatef (this->getAbsDir().getSpacialAxisAngle(), tmpRot.x, tmpRot.y, tmpRot.z );125 126 this->material->select();127 128 // /WorldEntity::draw();129 this->getModel(0)->draw();130 // static_cast<VertexArrayModel*>(this->getModel(0))->debug();131 132 glPopMatrix();133 }134 135 136
Note: See TracChangeset
for help on using the changeset viewer.