Changeset 869 for code/branches/core/src/orxonox/objects
- Timestamp:
- Mar 9, 2008, 4:04:23 AM (17 years ago)
- Location:
- code/branches/core/src/orxonox/objects
- Files:
-
- 10 edited
Legend:
- Unmodified
- Added
- Removed
-
code/branches/core/src/orxonox/objects/Ambient.cc
r845 r869 40 40 #include "../core/CoreIncludes.h" 41 41 #include "../Orxonox.h" 42 #include "core/XMLPort.h" 42 43 43 44 #include "Ambient.h" … … 58 59 void Ambient::loadParams(TiXmlElement* xmlElem) 59 60 { 60 Ogre::SceneManager* mgr = orxonox::Orxonox::getSingleton()->getSceneManager();61 62 61 if (xmlElem->Attribute("colourvalue")) 63 62 { … … 69 68 String2Number<float>(b, colourvalues[2]); 70 69 71 mgr->setAmbientLight(ColourValue(r,g,b));70 this->setAmbientLight(ColourValue(r, g, b)); 72 71 73 72 COUT(4) << "Loader: Set ambient light: "<<r<<" " << g << " " << b << std::endl << std::endl; 74 73 } 75 74 } 75 76 void Ambient::setAmbientLight(const ColourValue& colour) 77 { 78 Orxonox::getSingleton()->getSceneManager()->setAmbientLight(colour); 79 } 80 81 /** 82 @brief XML loading and saving. 83 @param xmlelement The XML-element 84 @param loading Loading (true) or saving (false) 85 @return The XML-element 86 */ 87 Element& Ambient::XMLPort(Element& xmlelement, bool loading) 88 { 89 BaseObject::XMLPort(xmlelement, loading); 90 91 XMLPortParamLoadOnly(Ambient, "colourvalue", setAmbientLight, xmlelement, loading); 92 93 return xmlelement; 94 } 76 95 } -
code/branches/core/src/orxonox/objects/Ambient.h
r845 r869 14 14 virtual ~Ambient(); 15 15 16 17 16 void loadParams(TiXmlElement* xmlElem); 17 virtual Element& XMLPort(Element& xmlelement, bool loading); 18 void setAmbientLight(const ColourValue& colour); 18 19 19 20 private: -
code/branches/core/src/orxonox/objects/Model.cc
r793 r869 33 33 #include "../core/CoreIncludes.h" 34 34 #include "../Orxonox.h" 35 #include "core/XMLPort.h" 35 36 36 37 #include "Model.h" … … 60 61 } 61 62 63 /** 64 @brief XML loading and saving. 65 @param xmlelement The XML-element 66 @param loading Loading (true) or saving (false) 67 @return The XML-element 68 */ 69 Element& Model::XMLPort(Element& xmlelement, bool loading) 70 { 71 WorldEntity::XMLPort(xmlelement, loading); 72 73 XMLPortParamLoadOnly(Model, "mesh", setMesh, xmlelement, loading); 74 75 create(); 76 77 return xmlelement; 78 } 79 80 void Model::setMesh(const std::string& meshname) 81 { 82 this->meshSrc_ = meshname; 83 } 84 62 85 bool Model::create(){ 63 86 if(meshSrc_.compare("")!=0){ -
code/branches/core/src/orxonox/objects/Model.h
r845 r869 18 18 virtual ~Model(); 19 19 virtual void loadParams(TiXmlElement* xmlElem); 20 virtual Element& XMLPort(Element& xmlelement, bool loading); 21 void setMesh(const std::string& meshname); 20 22 bool create(); 21 23 -
code/branches/core/src/orxonox/objects/Skybox.cc
r790 r869 38 38 #include "../core/CoreIncludes.h" 39 39 #include "../core/Debug.h" 40 #include "core/XMLPort.h" 40 41 41 42 #include "Skybox.h" … … 56 57 void Skybox::loadParams(TiXmlElement* xmlElem) 57 58 { 58 Ogre::SceneManager* mgr = orxonox::Orxonox::getSingleton()->getSceneManager();59 60 59 if (xmlElem->Attribute("src")) 61 60 { 62 61 std::string skyboxSrc = xmlElem->Attribute("src"); 63 mgr->setSkyBox(true,skyboxSrc);62 this->setSkybox(skyboxSrc); 64 63 65 64 COUT(4) << "Loader: Set skybox: "<< skyboxSrc << std::endl << std::endl; 66 65 } 67 66 } 67 68 void Skybox::setSkybox(const std::string& skyboxname) 69 { 70 Orxonox::getSingleton()->getSceneManager()->setSkyBox(true, skyboxname); 71 } 72 73 /** 74 @brief XML loading and saving. 75 @param xmlelement The XML-element 76 @param loading Loading (true) or saving (false) 77 @return The XML-element 78 */ 79 Element& Skybox::XMLPort(Element& xmlelement, bool loading) 80 { 81 BaseObject::XMLPort(xmlelement, loading); 82 83 XMLPortParamLoadOnly(Skybox, "src", setSkybox, xmlelement, loading); 84 85 return xmlelement; 86 } 68 87 } -
code/branches/core/src/orxonox/objects/Skybox.h
r845 r869 16 16 virtual ~Skybox(); 17 17 18 19 18 void loadParams(TiXmlElement* xmlElem); 19 virtual Element& XMLPort(Element& xmlelement, bool loading); 20 void setSkybox(const std::string& skyboxname); 20 21 21 22 private: -
code/branches/core/src/orxonox/objects/SpaceShip.cc
r790 r869 44 44 #include "../particle/ParticleInterface.h" 45 45 #include "Projectile.h" 46 #include "core/XMLPort.h" 46 47 47 48 #include "SpaceShip.h" … … 123 124 this->brakeLoop(loop); 124 125 */ 126 this->init(); 127 125 128 COUT(3) << "Info: SpaceShip was loaded" << std::endl; 126 129 } … … 132 135 } 133 136 134 void SpaceShip::setConfigValues() 135 { 136 SetConfigValue(bInvertYAxis_, false).description("Set this to true for joystick-like mouse behaviour (mouse up = ship down)."); 137 SetConfigValue(reloadTime_, 0.125).description("The reload time of the weapon in seconds"); 138 SetConfigValue(testvector_, Vector3()).description("asdfblah"); 139 } 140 141 void SpaceShip::loadParams(TiXmlElement* xmlElem) 142 { 143 Model::loadParams(xmlElem); 144 145 137 void SpaceShip::init() 138 { 146 139 // START CREATING THRUSTER 147 140 this->tt_ = new ParticleInterface(Orxonox::getSingleton()->getSceneManager(),"twinthruster" + this->getName(),"Orxonox/engineglow"); … … 197 190 198 191 // END of testing crosshair 199 192 } 193 194 void SpaceShip::setConfigValues() 195 { 196 SetConfigValue(bInvertYAxis_, false).description("Set this to true for joystick-like mouse behaviour (mouse up = ship down)."); 197 SetConfigValue(reloadTime_, 0.125).description("The reload time of the weapon in seconds"); 198 SetConfigValue(testvector_, Vector3()).description("asdfblah"); 199 } 200 201 void SpaceShip::loadParams(TiXmlElement* xmlElem) 202 { 203 Model::loadParams(xmlElem); 200 204 /* 201 205 if (xmlElem->Attribute("forward") && xmlElem->Attribute("rotateupdown") && xmlElem->Attribute("rotaterightleft") && xmlElem->Attribute("looprightleft")) … … 242 246 if (xmlElem->Attribute("camera")) 243 247 { 244 Ogre::Camera *cam = Orxonox::getSingleton()->getSceneManager()->createCamera("ShipCam"); 245 this->camNode_ = this->getNode()->createChildSceneNode("CamNode"); 246 /* 247 // node->setInheritOrientation(false); 248 cam->setPosition(Vector3(0,50,-150)); 249 cam->lookAt(Vector3(0,20,0)); 250 cam->roll(Degree(0)); 251 */ 252 253 cam->setPosition(Vector3(-200,0,35)); 254 // cam->setPosition(Vector3(0,-350,0)); 255 cam->lookAt(Vector3(0,0,35)); 256 cam->roll(Degree(-90)); 257 258 this->camNode_->attachObject(cam); 259 Orxonox::getSingleton()->getOgrePointer()->getRoot()->getAutoCreatedWindow()->addViewport(cam); 248 this->setCamera(); 260 249 } 250 } 251 252 void SpaceShip::setCamera(const std::string& camera) 253 { 254 Ogre::Camera *cam = Orxonox::getSingleton()->getSceneManager()->createCamera("ShipCam"); 255 this->camNode_ = this->getNode()->createChildSceneNode("CamNode"); 256 /* 257 // node->setInheritOrientation(false); 258 cam->setPosition(Vector3(0,50,-150)); 259 cam->lookAt(Vector3(0,20,0)); 260 cam->roll(Degree(0)); 261 */ 262 263 cam->setPosition(Vector3(-200,0,35)); 264 // cam->setPosition(Vector3(0,-350,0)); 265 cam->lookAt(Vector3(0,0,35)); 266 cam->roll(Degree(-90)); 267 268 this->camNode_->attachObject(cam); 269 Orxonox::getSingleton()->getOgrePointer()->getRoot()->getAutoCreatedWindow()->addViewport(cam); 270 } 271 272 void SpaceShip::setMaxSpeed(float value) 273 { this->maxSpeed_ = value; } 274 void SpaceShip::setMaxSideAndBackSpeed(float value) 275 { this->maxSideAndBackSpeed_ = value; } 276 void SpaceShip::setMaxRotation(float value) 277 { this->maxRotation_ = value; this->maxRotationRadian_ = Radian(value); } 278 void SpaceShip::setTransAcc(float value) 279 { this->translationAcceleration_ = value; } 280 void SpaceShip::setRotAcc(float value) 281 { this->rotationAcceleration_ = value; this->rotationAccelerationRadian_ = Radian(value); } 282 void SpaceShip::setTransDamp(float value) 283 { this->translationDamping_ = value; } 284 void SpaceShip::setRotDamp(float value) 285 { this->rotationDamping_ = value; this->rotationDampingRadian_ = Radian(value); } 286 287 /** 288 @brief XML loading and saving. 289 @param xmlelement The XML-element 290 @param loading Loading (true) or saving (false) 291 @return The XML-element 292 */ 293 Element& SpaceShip::XMLPort(Element& xmlelement, bool loading) 294 { 295 Model::XMLPort(xmlelement, loading); 296 297 XMLPortParamLoadOnly(SpaceShip, "camera", setCamera, xmlelement, loading); 298 XMLPortParamLoadOnly(SpaceShip, "maxSpeed", setMaxSpeed, xmlelement, loading); 299 XMLPortParamLoadOnly(SpaceShip, "maxSideAndBackSpeed", setMaxSideAndBackSpeed, xmlelement, loading); 300 XMLPortParamLoadOnly(SpaceShip, "maxRotation", setMaxRotation, xmlelement, loading); 301 XMLPortParamLoadOnly(SpaceShip, "transAcc", setTransAcc, xmlelement, loading); 302 XMLPortParamLoadOnly(SpaceShip, "rotAcc", setRotAcc, xmlelement, loading); 303 XMLPortParamLoadOnly(SpaceShip, "transDamp", setTransDamp, xmlelement, loading); 304 XMLPortParamLoadOnly(SpaceShip, "rotDamp", setRotDamp, xmlelement, loading); 305 306 return xmlelement; 261 307 } 262 308 -
code/branches/core/src/orxonox/objects/SpaceShip.h
r845 r869 21 21 SpaceShip(); 22 22 ~SpaceShip(); 23 void init(); 23 24 void setConfigValues(); 24 25 virtual void loadParams(TiXmlElement* xmlElem); 26 virtual Element& XMLPort(Element& xmlelement, bool loading); 25 27 virtual void tick(float dt); 28 29 void setCamera(const std::string& camera = ""); 30 void setMaxSpeed(float value); 31 void setMaxSideAndBackSpeed(float value); 32 void setMaxRotation(float value); 33 void setTransAcc(float value); 34 void setRotAcc(float value); 35 void setTransDamp(float value); 36 void setRotDamp(float value); 26 37 27 38 bool mouseMoved(const OIS::MouseEvent &e); -
code/branches/core/src/orxonox/objects/WorldEntity.cc
r856 r869 158 158 } 159 159 160 void WorldEntity::setYawPitchRoll(const Degree& yaw, const Degree& pitch, const Degree& roll) 161 { 162 this->yaw(yaw); 163 this->pitch(pitch); 164 this->roll(roll); 165 } 160 166 161 167 /** … … 169 175 BaseObject::XMLPort(xmlelement, loading); 170 176 171 XMLPortParam(WorldEntity, "position", setPosition, getPosition, xmlelement, loading); 172 // XMLPortParam(WorldEntity, "direction", setDirection, getDirection, xmlelement, loading); 173 XMLPortParamLoadOnly(WorldEntity, "yaw", setYaw, xmlelement, loading); 174 XMLPortParamLoadOnly(WorldEntity, "pitch", setPitch, xmlelement, loading); 175 XMLPortParamLoadOnly(WorldEntity, "roll", setRoll, xmlelement, loading); 177 XMLPortParam(WorldEntity, "position", setPositionLoader2, getPosition, xmlelement, loading); 178 XMLPortParamLoadOnly(WorldEntity, "direction", setDirectionLoader, xmlelement, loading); 179 XMLPortParamLoadOnly(WorldEntity, "yawpitchroll", setYawPitchRoll, xmlelement, loading); 176 180 XMLPortParam(WorldEntity, "scale", setTotalScale, getScale, xmlelement, loading); 177 XMLPortParam(WorldEntity, "rotationAxis", setRotationAxis , getRotationAxis, xmlelement, loading);181 XMLPortParam(WorldEntity, "rotationAxis", setRotationAxisLoader, getRotationAxis, xmlelement, loading); 178 182 XMLPortParam(WorldEntity, "rotationRate", setRotationRate, getRotationRate, xmlelement, loading); 179 183 -
code/branches/core/src/orxonox/objects/WorldEntity.h
r856 r869 39 39 inline void setPosition(const Vector3& pos) 40 40 { this->node_->setPosition(pos); } 41 // inline void setPosition(Real x, Real y, Real z) 42 // { this->node_->setPosition(x, y, z); } 41 inline void setPositionLoader1(const Vector3& pos) 42 { this->node_->setPosition(pos); } 43 inline void setPositionLoader2(Real x, Real y, Real z) 44 { this->node_->setPosition(x, y, z); } 45 inline void setPosition(Real x, Real y, Real z) 46 { this->node_->setPosition(x, y, z); } 43 47 inline const Vector3& getPosition() const 44 48 { return this->node_->getPosition(); } … … 59 63 inline void roll(const Radian &angle, Ogre::Node::TransformSpace relativeTo=Ogre::Node::TS_LOCAL) 60 64 { this->node_->roll(angle, relativeTo); } 65 void setYawPitchRoll(const Degree& yaw, const Degree& pitch, const Degree& roll); 61 66 62 67 inline void setYaw(const Degree &angle) … … 73 78 inline void rotate(const Vector3 &axis, const Radian &angle, Ogre::Node::TransformSpace relativeTo=Ogre::Node::TS_LOCAL) 74 79 { this->node_->rotate(axis, angle, relativeTo); } 80 inline void setDirectionLoader(Real x, Real y, Real z) 81 { this->setDirection(x, y, z); } 75 82 inline void setDirection(Real x, Real y, Real z, Ogre::Node::TransformSpace relativeTo=Ogre::Node::TS_LOCAL, const Vector3 &localDirectionVector=Vector3::NEGATIVE_UNIT_Z) 76 83 { this->node_->setDirection(x, y, z, relativeTo, localDirectionVector); } … … 120 127 { return this->acceleration_; } 121 128 129 inline void setRotationAxisLoader(const Vector3& axis) 130 { this->rotationAxis_ = axis; } 122 131 inline void setRotationAxis(const Vector3& axis) 123 132 { this->rotationAxis_ = axis; } 124 //inline void setRotationAxis(Real x, Real y, Real z)125 //{ this->rotationAxis_.x = x; this->rotationAxis_.y = y; this->rotationAxis_.z = z; }133 inline void setRotationAxis(Real x, Real y, Real z) 134 { this->rotationAxis_.x = x; this->rotationAxis_.y = y; this->rotationAxis_.z = z; } 126 135 inline const Vector3& getRotationAxis() const 127 136 { return this->rotationAxis_; } … … 130 139 // { this->rotationRate_ = angle; } 131 140 inline void setRotationRate(const Degree& angle) 132 { this->rotationRate_ = angle; }141 { this->rotationRate_ = angle; this->setStatic(angle == Degree(0)); } 133 142 inline const Radian& getRotationRate() const 134 143 { return this->rotationRate_; }
Note: See TracChangeset
for help on using the changeset viewer.