155 int animationCounter;
157 Ogre::ColourValue cAmbientLight;
160 Ogre::Timer mPreTimer;
161 Ogre::Timer mPostTimer;
163 Ogre::RaySceneQuery* mRayQuery;
166 Ogre::Overlay* SO3DebugOverlay;
167 Ogre::OverlayContainer* SO3DebugPanel;
168 Ogre::TextAreaOverlayElement* SO3DebugTextArea;
169 Ogre::ResourcePtr SO3DebugFont;
174 SScene(
SRoot* parent,
const std::string& sceneName);
183 void clearOgreScene();
187 Ogre::SceneManager* GetOgreScenePointer();
192 SNode* GetRootNode();
197 SNode* GetNode(
const std::string& nodeName)
const;
212 const SNodeMap& GetNodeList()
const;
222 SNode* CreateNode(
const std::string& newNodeName);
227 SNode* CreateNodeWithUniqueName(
const std::string& basename);
232 void DeleteNode(
SNode* existingNode);
242 SCamera* CreateCamera(
const std::string& newCameraName);
247 SEntity* CreateEntity(
const std::string& groupName,
const std::string& newEntityName,
const std::string& meshName,
bool loadInBackground =
false);
257 SEntity* CreateEntity(
const std::string& entityName,
const std::string& ressourceGroup, Ogre::MeshPtr meshPointer);
262 SEntity* CloneEntity(
const std::string& newEntityName,
SEntity* entity);
272 SEntity* CreateSphere(
const std::string& groupName,
const std::string& newEntityName,
const float& radius,
const int& rings,
const int& segments);
277 SEntity* CreateCone(
const std::string& groupName,
const std::string& newEntityName,
const float& radius,
const float& height,
const int& segments);
282 SEntity* CreateOctahedron(
const std::string& groupName,
const std::string& newEntityName,
const float& base,
const float& bottom,
const float& dist);
287 void DeleteEntity(
SEntity* existingEntity);
292 void ReloadEntities();
297 SLineEntity* CreateLineEntity(
const std::string& newLineEntityName,
bool dashed =
false,
bool disableDepth =
false);
302 void DeleteLineEntity(
SLineEntity* existingLineEntity);
307 void UpdateLightsShadowParameters();
312 SSkeleton* CreateSkeleton(
const std::string& newSkeletonName,
SEntity* entity);
317 void DeleteSkeleton(
SSkeleton* existingSkeleton);
322 SBone* CreateBone(
const std::string& newBoneName,
SSkeleton* skeleton,
const unsigned short&
id);
327 void DeleteBone(
SBone* existingBone);
332 SParticleSystem* CreateParticleSystem(
const std::string& newParticleSystemName,
const std::string& particleSystemTemplate);
342 SLight* CreateLight(
const std::string& newLightName);
347 void DeleteLight(
SLight* existingLight);
352 SDynamicCubeMap* CreateDynamicCubeMap(
const std::string& newDynamicCubeMapName);
382 SMaterial* CreateMaterial(
const std::string& groupname,
const std::string& matname,
const bool& loadedFromScript =
false);
387 void DeleteMaterial(
SMaterial* material);
392 SMaterial* GetMaterial(
const std::string& groupName,
const std::string& materialName,
bool searchOtherGroups =
true);
399 const SMaterialMap* GetMaterials(
const std::string& groupName);
406 void CleanGroupMaterials(
const std::string& groupName);
411 STexture* CreateTexture(
const std::string& groupname,
const std::string& texname,
const std::string& path,
const int&
w = 0,
const int& h = 0);
413 STexture* CreateTexture(
const std::string& groupname,
const std::string& texname, Ogre::Image image);
418 void DeleteTexture(
STexture* texture);
423 STexture* GetTexture(
const std::string& groupName,
const std::string& texName);
428 const STextureMap* GetTextures(
const std::string& groupName);
435 void CleanGroupTextures(
const std::string& groupName);
440 STerrain* CreateTerrain(
const std::string& name);
445 void DeleteTerrain(
STerrain* terrain);
450 void UpdateAllTerrains();
455 void DeleteAllTerrains();
472 void AddAnimation(
SAnim* existingAnimation);
477 void RemoveAnimation(
SAnim* existingAnimation);
482 void RemoveAnimation(
const std::string& animationName);
487 void DeleteAnimation(
SAnim* existingAnimation);
491 unsigned short GetNumAnimations();
495 SAnim* GetAnimation(
const std::string& animationName);
535 void DestroyInternalRessources();
539 void ReloadInternalRessources();
543 Ogre::ColourValue GetAmbientLight();
547 void SetAmbientLight(
const Ogre::ColourValue& color);
557 void RegisterViewport(
SViewPort* viewport);
562 void UnregisterViewport(
SViewPort* viewport);
567 bool ParseResourceScript(
const std::string& groupName,
const std::string& scriptName,
const SResource::ResourceType& scriptType);
571 void SetDebugEnable(
const bool& enable);
575 void SetDebugDisplay(
const int& color,
const int& posx,
const int& posy,
const int& width,
const int& height,
const int& charHeight);
579 void SetDebugText(
const std::string& text);
583 void GetSimpleRayCast(Ogre::Ray cameraRay,
SRaycastResult &result);
596 void SetMaterialsPointSize(Ogre::Real size);
601 bool NodeExist(
const std::string &name);
606 bool AddNode(
SNode* existingNode);
611 void RemoveNode(
SNode* existingNode);
616 void RemoveNode(
const std::string& nodeName);
621 void DeleteAllNodes();
626 void DeleteAllAnimations();
631 void DeleteAllMaterials();
636 void DeleteAllTextures();
638 bool UnloadResource(Ogre::ResourceManager* resMgr,
const std::string& resName,
const std::string& groupName);
639 bool UnloadResource(Ogre::ParticleSystemManager* resMgr,
const std::string& resName);
640 bool UnloadMaterials(
const std::string& filename,
const std::string& groupName);
641 bool UnloadCompositors(
const std::string& filename,
const std::string& groupName);
642 bool UnloadParticles(
const std::string& filename,
const std::string& groupName);
643 bool UnloadVertexPrograms(
const std::string& filename,
const std::string& groupName);
644 bool UnloadFragmentPrograms(
const std::string& filename,
const std::string& groupName);
MMOUSE(int cx, int cy, int cbtn, int cindex=0, int cscroll=0, int cstate=0, int cflags=0, int cvx=0, int cvy=0)