Castor3D
..
|
Classe de gestion d'un scène. Plus de détails...
Classes | |
class | BinaryParser |
class | TextLoader |
Fonctions membres publiques | |
Scene (Engine *p_pEngine, LightFactory &p_lightFactory, Castor::String const &p_name=Castor::cuEmptyString) | |
Constructeur. Plus de détails... | |
~Scene () | |
Destructeur. Plus de détails... | |
void | ClearScene () |
Vide les maps, laisse les noeuds pères. Plus de détails... | |
void | RenderBackground (Camera const &p_camera) |
Rend le fond de la scène. Plus de détails... | |
void | Render (eTOPOLOGY p_displayMode, double p_dFrameTime, Camera const &p_camera) |
Rend la scène dans un mode d'affichage donné Plus de détails... | |
bool | SetBackgroundImage (Castor::Path const &p_pathFile) |
Définit l'image de fond pour la scène. Plus de détails... | |
SceneNodeSPtr | CreateSceneNode (Castor::String const &p_name, SceneNode *p_parent=NULL) |
Crée un SceneNode. Plus de détails... | |
SceneNodeSPtr | CreateSceneNode (Castor::String const &p_name, SceneNodeSPtr p_parent) |
Crée un SceneNode. Plus de détails... | |
GeometrySPtr | CreateGeometry (Castor::String const &p_name, eMESH_TYPE p_type, Castor::String const &p_meshName, UIntArray p_faces, RealArray p_size) |
Crée une géométrie. Plus de détails... | |
GeometrySPtr | CreateGeometry (Castor::String const &p_name) |
Crée une géométrie. Plus de détails... | |
CameraSPtr | CreateCamera (Castor::String const &p_name, int p_ww, int p_wh, SceneNodeSPtr p_pNode, eVIEWPORT_TYPE p_type) |
Crée une caméra. Plus de détails... | |
CameraSPtr | CreateCamera (Castor::String const &p_name, SceneNodeSPtr p_pNode, ViewportSPtr p_pViewport) |
Crée une caméra. Plus de détails... | |
LightSPtr | CreateLight (Castor::String const &p_name, SceneNodeSPtr p_pNode, eLIGHT_TYPE p_eLightType) |
Crée une lumière. Plus de détails... | |
AnimatedObjectGroupSPtr | CreateAnimatedObjectGroup (Castor::String const &p_name) |
Crée un groupe d'objets animés. Plus de détails... | |
void | InitialiseGeometries () |
Initialise les géométries. Plus de détails... | |
void | AddNode (SceneNodeSPtr p_node) |
Ajoute un node à la scène. Plus de détails... | |
void | AddLight (LightSPtr p_light) |
Ajoute une lumière à la scène. Plus de détails... | |
void | AddGeometry (GeometrySPtr p_geometry) |
Ajoute une géométrie à la scène. Plus de détails... | |
void | AddBillboards (BillboardListSPtr p_pList) |
Ajoute une liste de billboards à la scène. Plus de détails... | |
void | AddAnimatedObjectGroup (AnimatedObjectGroupSPtr p_pGroup) |
Ajoute un groupe d'objets animés. Plus de détails... | |
SceneNodeSPtr | GetNode (Castor::String const &p_name) const |
Récupère le node ayant le nom donné Plus de détails... | |
GeometrySPtr | GetGeometry (Castor::String const &p_name) const |
Récupère la géométrie ayant le nom donné Plus de détails... | |
LightSPtr | GetLight (Castor::String const &p_name) const |
Récupère la lumière ayant le nom donné Plus de détails... | |
BillboardListSPtr | GetBillboards (Castor::String const &p_name) const |
Récupère la liste de billboards ayant le nom donné Plus de détails... | |
AnimatedObjectGroupSPtr | GetAnimatedObjectGroup (Castor::String const &p_name) const |
Récupère un groupe d'objets animés ayant le nom donné Plus de détails... | |
CameraSPtr | GetCamera (Castor::String const &p_name) const |
Récupère la caméra ayant le nom donné Plus de détails... | |
void | RemoveLight (LightSPtr p_pLight) |
Enlève la lumière donnée de la scène. Plus de détails... | |
void | RemoveNode (SceneNodeSPtr p_pNode) |
Enlève le node donné de la scène. Plus de détails... | |
void | RemoveGeometry (GeometrySPtr p_pGeometry) |
Enlève la géométrie donnée de la scène. Plus de détails... | |
void | RemoveBillboards (BillboardListSPtr p_pList) |
Enlève la liste de billboards donnée de la scène. Plus de détails... | |
void | RemoveCamera (CameraSPtr p_pCamera) |
Enlève la caméra donnée de la scène. Plus de détails... | |
void | RemoveAnimatedObjectGroup (AnimatedObjectGroupSPtr p_pGroup) |
Enlève un groupe d'objets animés de la scène. Plus de détails... | |
void | RemoveAllLights () |
Enlève toutes les lumières de la scène. Plus de détails... | |
void | RemoveAllNodes () |
Enlève tous les nodes de la scène. Plus de détails... | |
void | RemoveAllGeometries () |
Enlève totues les géométries de la scène. Plus de détails... | |
void | RemoveAllBillboards () |
Enlève totues les listes de billboards de la scène. Plus de détails... | |
void | RemoveAllCameras () |
Enlève toutes les caméras de la scène. Plus de détails... | |
void | RemoveAllAnimatedObjectGroups () |
Enlève totues les listes de billboards de la scène. Plus de détails... | |
bool | ImportExternal (Castor::String const &p_fileName, Importer &p_importer) |
Importe une scène à partir d'un fichier. Plus de détails... | |
void | Select (Ray *p_ray, GeometrySPtr &p_geo, SubmeshSPtr &p_submesh, FaceSPtr *p_face, Vertex *p_vertex) |
Sélectionne l'élément le plus proche touché par le rayon. Plus de détails... | |
void | Merge (SceneSPtr p_pScene) |
Intègre à cette scène le contenu de celle donnée. Plus de détails... | |
void | ClearOverlays () |
Vide la liste des overlays contenus dans la scène. Plus de détails... | |
void | AddOverlay (OverlaySPtr p_pOverlay) |
Ajoute un overlay à ceux déjà présents. Plus de détails... | |
void | SetBackgroundColour (Castor::Colour const &p_clrNew) |
Définit la couleur du fond. Plus de détails... | |
Castor::Colour const & | GetBackgroundColour () const |
Récupère la couleur du fond. Plus de détails... | |
Castor::String const & | GetName () const |
Récupère le nom de la scène. Plus de détails... | |
void | SetName (Castor::String const &p_name) |
Définit le nom de la scène. Plus de détails... | |
SceneNodeSPtr | GetRootNode () const |
Récupère le node racine. Plus de détails... | |
SceneNodeSPtr | GetCameraRootNode () const |
Récupère le node racine des caméras. Plus de détails... | |
SceneNodeSPtr | GetObjectRootNode () const |
Récupère le node racine des objets. Plus de détails... | |
TextureBaseSPtr | GetBackgroundImage () const |
Récupère l'image de fond de la scène. Plus de détails... | |
bool | HasChanged () const |
Récupère le statut de changement de la scène. Plus de détails... | |
Castor::Colour const & | GetAmbientLight () const |
Récupère la couleur de la lumière ambiante. Plus de détails... | |
uint32_t | GetNodesCount () const |
Récupère le nombre de SceneNodes. Plus de détails... | |
SceneNodePtrStrMap::iterator | NodesBegin () |
Récupère un itérateur sur le début de la map des SceneNodes. Plus de détails... | |
SceneNodePtrStrMap::const_iterator | NodesBegin () const |
Récupère un itérateur sur le début de la map des SceneNodes. Plus de détails... | |
SceneNodePtrStrMap::iterator | NodesEnd () |
Récupère un itérateur sur la fin de la map des SceneNodes. Plus de détails... | |
SceneNodePtrStrMap::const_iterator | NodesEnd () const |
Récupère un itérateur sur la fin de la map des SceneNodes. Plus de détails... | |
uint32_t | GetLightsCount () const |
Récupère le nombre de lumières. Plus de détails... | |
LightPtrIntMap::iterator | LightsBegin () |
Récupère un itérateur sur le début de la map des lumières. Plus de détails... | |
LightPtrIntMap::const_iterator | LightsBegin () const |
Récupère un itérateur sur le début de la map des lumières. Plus de détails... | |
LightPtrIntMap::iterator | LightsEnd () |
Récupère un itérateur sur la fin de la map des lumières. Plus de détails... | |
LightPtrIntMap::const_iterator | LightsEnd () const |
Récupère un itérateur sur la fin de la map des lumières. Plus de détails... | |
uint32_t | GetGeometriesCount () const |
Récupère le nombre de géométries. Plus de détails... | |
GeometryPtrStrMap::iterator | GeometriesBegin () |
Récupère un itérateur sur le début de la map des géométries. Plus de détails... | |
GeometryPtrStrMap::const_iterator | GeometriesBegin () const |
Récupère un itérateur sur le début de la map des géométries. Plus de détails... | |
GeometryPtrStrMap::iterator | GeometriesEnd () |
Récupère un itérateur sur la fin de la map des géométries. Plus de détails... | |
GeometryPtrStrMap::const_iterator | GeometriesEnd () const |
Récupère un itérateur sur la fin de la map des géométries. Plus de détails... | |
uint32_t | GetCamerasCount () const |
Récupère le nombre de caméras. Plus de détails... | |
CameraPtrStrMap::iterator | CamerasBegin () |
Récupère un itérateur sur le début de la map des caméras. Plus de détails... | |
CameraPtrStrMap::const_iterator | CamerasBegin () const |
Récupère un itérateur sur le début de la map des caméras. Plus de détails... | |
CameraPtrStrMap::iterator | CamerasEnd () |
Récupère un itérateur sur la fin de la map des caméras. Plus de détails... | |
CameraPtrStrMap::const_iterator | CamerasEnd () const |
Récupère un itérateur sur la fin de la map des caméras. Plus de détails... | |
Engine * | GetEngine () const |
Récupère le moteur. Plus de détails... | |
void | SetAmbientLight (Castor::Colour const &val) |
Définit la couleur de la lumière ambiante. Plus de détails... | |
Classe de gestion d'un scène.
Castor3D::Scene::Scene | ( | Engine * | p_pEngine, |
LightFactory & | p_lightFactory, | ||
Castor::String const & | p_name = Castor::cuEmptyString |
||
) |
Constructeur.
[in] | p_pEngine | Le moteur |
[in] | p_lightFactory | La fabrique utilisée pour créer les lumières |
[in] | p_name | Le nom de la scène |
Castor3D::Scene::~Scene | ( | ) |
Destructeur.
void Castor3D::Scene::AddAnimatedObjectGroup | ( | AnimatedObjectGroupSPtr | p_pGroup | ) |
Ajoute un groupe d'objets animés.
[in] | p_pGroup | Le groupe d'objets animés |
void Castor3D::Scene::AddBillboards | ( | BillboardListSPtr | p_pList | ) |
Ajoute une liste de billboards à la scène.
[in] | p_pList | La liste de billboards |
void Castor3D::Scene::AddGeometry | ( | GeometrySPtr | p_geometry | ) |
Ajoute une géométrie à la scène.
[in] | p_geometry | La géométrie |
void Castor3D::Scene::AddLight | ( | LightSPtr | p_light | ) |
Ajoute une lumière à la scène.
[in] | p_light | La lumière |
void Castor3D::Scene::AddNode | ( | SceneNodeSPtr | p_node | ) |
Ajoute un node à la scène.
[in] | p_node | Le node |
void Castor3D::Scene::AddOverlay | ( | OverlaySPtr | p_pOverlay | ) |
Ajoute un overlay à ceux déjà présents.
[in] | p_pOverlay | L'overlay |
|
inline |
Récupère un itérateur sur le début de la map des caméras.
|
inline |
Récupère un itérateur sur le début de la map des caméras.
|
inline |
Récupère un itérateur sur la fin de la map des caméras.
|
inline |
Récupère un itérateur sur la fin de la map des caméras.
void Castor3D::Scene::ClearOverlays | ( | ) |
Vide la liste des overlays contenus dans la scène.
void Castor3D::Scene::ClearScene | ( | ) |
Vide les maps, laisse les noeuds pères.
AnimatedObjectGroupSPtr Castor3D::Scene::CreateAnimatedObjectGroup | ( | Castor::String const & | p_name | ) |
Crée un groupe d'objets animés.
[in] | p_name | Le nom du groupe |
CameraSPtr Castor3D::Scene::CreateCamera | ( | Castor::String const & | p_name, |
int | p_ww, | ||
int | p_wh, | ||
SceneNodeSPtr | p_pNode, | ||
eVIEWPORT_TYPE | p_type | ||
) |
Crée une caméra.
[in] | p_name | Le nom de la caméra |
[in] | p_ww,p_wh | Les dimensions de la fenêtre |
[in] | p_pNode | Le node auquel attacher la caméra |
[in] | p_type | Le type de projection du viewport |
CameraSPtr Castor3D::Scene::CreateCamera | ( | Castor::String const & | p_name, |
SceneNodeSPtr | p_pNode, | ||
ViewportSPtr | p_pViewport | ||
) |
Crée une caméra.
[in] | p_name | Le nom de la caméra |
[in] | p_pNode | Le node auquel attacher la caméra |
[in] | p_pViewport | Le viewport |
GeometrySPtr Castor3D::Scene::CreateGeometry | ( | Castor::String const & | p_name, |
eMESH_TYPE | p_type, | ||
Castor::String const & | p_meshName, | ||
UIntArray | p_faces, | ||
RealArray | p_size | ||
) |
Crée une géométrie.
[in] | p_name | Le nom de la géométrie |
[in] | p_type | Le type de mesh |
[in] | p_meshName | Le nom du mesh, un nouveau mesh est créé si celui donné n'existe pas |
[in] | p_faces | Les nombres de faces |
[in] | p_size | Les dimensions |
GeometrySPtr Castor3D::Scene::CreateGeometry | ( | Castor::String const & | p_name | ) |
Crée une géométrie.
[in] | p_name | Le nom de la géométrie |
LightSPtr Castor3D::Scene::CreateLight | ( | Castor::String const & | p_name, |
SceneNodeSPtr | p_pNode, | ||
eLIGHT_TYPE | p_eLightType | ||
) |
Crée une lumière.
[in] | p_name | Le nom de la lumière |
[in] | p_pNode | Le node auquel attacher la lumière |
[in] | p_eLightType | Le type de la lumière |
SceneNodeSPtr Castor3D::Scene::CreateSceneNode | ( | Castor::String const & | p_name, |
SceneNode * | p_parent = NULL |
||
) |
SceneNodeSPtr Castor3D::Scene::CreateSceneNode | ( | Castor::String const & | p_name, |
SceneNodeSPtr | p_parent | ||
) |
|
inline |
Récupère un itérateur sur le début de la map des géométries.
|
inline |
Récupère un itérateur sur le début de la map des géométries.
|
inline |
Récupère un itérateur sur la fin de la map des géométries.
|
inline |
Récupère un itérateur sur la fin de la map des géométries.
|
inline |
Récupère la couleur de la lumière ambiante.
AnimatedObjectGroupSPtr Castor3D::Scene::GetAnimatedObjectGroup | ( | Castor::String const & | p_name | ) | const |
Récupère un groupe d'objets animés ayant le nom donné
[in] | p_name | Le nom |
|
inline |
Récupère la couleur du fond.
|
inline |
Récupère l'image de fond de la scène.
BillboardListSPtr Castor3D::Scene::GetBillboards | ( | Castor::String const & | p_name | ) | const |
Récupère la liste de billboards ayant le nom donné
[in] | p_name | Le nom |
CameraSPtr Castor3D::Scene::GetCamera | ( | Castor::String const & | p_name | ) | const |
Récupère la caméra ayant le nom donné
[in] | p_name | Le nom |
|
inline |
Récupère le node racine des caméras.
|
inline |
Récupère le nombre de caméras.
|
inline |
Récupère le moteur.
|
inline |
Récupère le nombre de géométries.
GeometrySPtr Castor3D::Scene::GetGeometry | ( | Castor::String const & | p_name | ) | const |
Récupère la géométrie ayant le nom donné
[in] | p_name | Le nom |
LightSPtr Castor3D::Scene::GetLight | ( | Castor::String const & | p_name | ) | const |
Récupère la lumière ayant le nom donné
[in] | p_name | Le nom |
|
inline |
Récupère le nombre de lumières.
|
inline |
Récupère le nom de la scène.
SceneNodeSPtr Castor3D::Scene::GetNode | ( | Castor::String const & | p_name | ) | const |
Récupère le node ayant le nom donné
[in] | p_name | Le nom |
|
inline |
Récupère le nombre de SceneNodes.
|
inline |
Récupère le node racine des objets.
|
inline |
Récupère le node racine.
|
inline |
Récupère le statut de changement de la scène.
bool Castor3D::Scene::ImportExternal | ( | Castor::String const & | p_fileName, |
Importer & | p_importer | ||
) |
Importe une scène à partir d'un fichier.
[in] | p_fileName | L'adresse du fichier |
[in] | p_importer | L'importeur chargé de la récupération des données |
false
si un problème quelconque a été rencontré void Castor3D::Scene::InitialiseGeometries | ( | ) |
Initialise les géométries.
|
inline |
Récupère un itérateur sur le début de la map des lumières.
|
inline |
Récupère un itérateur sur le début de la map des lumières.
|
inline |
Récupère un itérateur sur la fin de la map des lumières.
|
inline |
Récupère un itérateur sur la fin de la map des lumières.
void Castor3D::Scene::Merge | ( | SceneSPtr | p_pScene | ) |
Intègre à cette scène le contenu de celle donnée.
[in] | p_pScene | La scène à intégrer |
|
inline |
Récupère un itérateur sur le début de la map des SceneNodes.
|
inline |
Récupère un itérateur sur le début de la map des SceneNodes.
|
inline |
Récupère un itérateur sur la fin de la map des SceneNodes.
|
inline |
Récupère un itérateur sur la fin de la map des SceneNodes.
void Castor3D::Scene::RemoveAllAnimatedObjectGroups | ( | ) |
Enlève totues les listes de billboards de la scène.
void Castor3D::Scene::RemoveAllBillboards | ( | ) |
Enlève totues les listes de billboards de la scène.
void Castor3D::Scene::RemoveAllCameras | ( | ) |
Enlève toutes les caméras de la scène.
void Castor3D::Scene::RemoveAllGeometries | ( | ) |
Enlève totues les géométries de la scène.
void Castor3D::Scene::RemoveAllLights | ( | ) |
Enlève toutes les lumières de la scène.
void Castor3D::Scene::RemoveAllNodes | ( | ) |
Enlève tous les nodes de la scène.
void Castor3D::Scene::RemoveAnimatedObjectGroup | ( | AnimatedObjectGroupSPtr | p_pGroup | ) |
Enlève un groupe d'objets animés de la scène.
[in] | p_pGroup | Le groupe d'objets animés |
void Castor3D::Scene::RemoveBillboards | ( | BillboardListSPtr | p_pList | ) |
Enlève la liste de billboards donnée de la scène.
[in] | p_pGeometry | La liste de billboards |
void Castor3D::Scene::RemoveCamera | ( | CameraSPtr | p_pCamera | ) |
Enlève la caméra donnée de la scène.
[in] | p_pCamera | La caméra |
void Castor3D::Scene::RemoveGeometry | ( | GeometrySPtr | p_pGeometry | ) |
Enlève la géométrie donnée de la scène.
[in] | p_pGeometry | La géométrie |
void Castor3D::Scene::RemoveLight | ( | LightSPtr | p_pLight | ) |
Enlève la lumière donnée de la scène.
[in] | p_pLight | La lumière |
void Castor3D::Scene::RemoveNode | ( | SceneNodeSPtr | p_pNode | ) |
Enlève le node donné de la scène.
[in] | p_pNode | La lumière |
void Castor3D::Scene::Render | ( | eTOPOLOGY | p_displayMode, |
double | p_dFrameTime, | ||
Camera const & | p_camera | ||
) |
Rend la scène dans un mode d'affichage donné
[in] | p_displayMode | Le mode d'affichage |
[in] | p_dFrameTime | Le temps écoulé depuis le rendu de la frame précédente |
[in] | p_camera | La caméra utilisée pour le rendu |
void Castor3D::Scene::RenderBackground | ( | Camera const & | p_camera | ) |
Rend le fond de la scène.
[in] | p_camera | La caméra utilisée pour le rendu |
void Castor3D::Scene::Select | ( | Ray * | p_ray, |
GeometrySPtr & | p_geo, | ||
SubmeshSPtr & | p_submesh, | ||
FaceSPtr * | p_face, | ||
Vertex * | p_vertex | ||
) |
Sélectionne l'élément le plus proche touché par le rayon.
[in] | p_ray | Le rayon |
[out] | p_geo | La géométrie la plus proche |
[out] | p_submesh | Le submesh le plus proche, dans la géométrie |
[out] | p_face | La face la plus proche, dans le submesh |
[out] | p_vertex | Le vertex le plus proche, dans la face |
|
inline |
Définit la couleur de la lumière ambiante.
[in] | La | nouvelle valeur |
|
inline |
Définit la couleur du fond.
[in] | p_clrNew | La nouvelle couleur |
bool Castor3D::Scene::SetBackgroundImage | ( | Castor::Path const & | p_pathFile | ) |
Définit l'image de fond pour la scène.
[in] | p_pathFile | Le chemin d'accès à l'image |
|
inline |
Définit le nom de la scène.
[in] | p_name | La valeur |