#include <ObjetSimule.h>
Graphe d'héritage de ObjetSimule:
Fonctions membres publiques | |
ObjetSimule (std::string fich_param) | |
void | Param_mesh (std::string fich_param) |
void | setOpenFile () |
void | setInit () |
void | init () |
void | CalculForce () |
void | CalculAccel (Coord g) |
void | CalculPositionVitesseTps0 (float visco) |
void | CalculPositionVitesse (float visco) |
void | Simulation (Coord gravite, float viscosite, int Tps) |
void | AffichagePos (int tps) |
void | affiche () |
Dessin du maillage. Methode invoquee par le graphe de scene. | |
void | setNormals () |
void | NormaleFace (Coord &normale, int a, int b, int c) |
void | setNSize (int size) |
Mesh * | GetMesh () |
int | GetNbPart () |
const float * | normals () const |
const unsigned int | nsize () const |
Coord | GetTissuSize () |
std::string | GetFacette () |
virtual | ~ObjetSimule () |
Attributs protégés | |
std::string | _Fich_Points |
Fichier de donnees contenant les points. | |
std::string | _Fich_FaceSet |
Fichier de donnees contenant les faceSet. | |
std::string | _Fich_Masses |
Fichier de donnees contenant les masses. | |
float | _delta_t |
Intervalle de temps. | |
int | _Nb_Particules |
Nombre de particules. | |
int | _Nb_Ressorts |
Nombre de ressorts. | |
Spring | _RessOS |
Caracteristiques des ressorts. | |
Coord | _Size |
Longueur du tissu dans chacune des directions x,y,z. | |
std::vector< Coord > | P |
Declaration pour les tableaux des particules pour les positions. | |
std::vector< Coord > | V |
Declaration pour les tableaux des particules pour les vitesses. | |
std::vector< Coord > | A |
Declaration pour les tableaux des particules pour les accelerations. | |
std::vector< float > | M |
Declaration du tableau des masses des particules. | |
std::vector< Coord > | Force |
Declaration du tableau des forces des particules. | |
Mesh * | Maillage |
Declaration du maillage. | |
float * | _Normals |
Tableau des normales des sommets. | |
unsigned int | _NSize |
Taille du tableau des normales. |
Définition à la ligne 31 du fichier ObjetSimule.h.
ObjetSimule::ObjetSimule | ( | std::string | fich_param | ) |
Constructeur
Recuperation des parametres mis dans le fichier
Définition à la ligne 49 du fichier ObjetSimule.cpp.
Références _RessOS, Param_mesh(), et Spring::SetFactAmorti().
Voici le graphe d'appel pour cette fonction :
ObjetSimule::~ObjetSimule | ( | ) | [inline, virtual] |
Destructeur de la class ObjetSimule
Définition à la ligne 168 du fichier ObjetSimule.h.
Références _Normals.
void ObjetSimule::Param_mesh | ( | std::string | fich_param | ) |
Lecture des parametres lies au maillage
Donnees du fichier contenant les parametres de l execution
Définition à la ligne 91 du fichier Param.cpp.
Références _delta_t, _Fich_FaceSet, _Fich_Masses, _Fich_Points, Spring::_Nu, Spring::_Raideur, _RessOS, GET_PARAM, et Properties::load().
Référencé par ObjetSimule().
Voici le graphe d'appel pour cette fonction :
Voici le graphe d'appel pour cette fonction :
void ObjetSimule::setOpenFile | ( | ) |
Ouverture des fichiers de donnees
Ouverture des fichiers de donnees
Fichier de donnees des points
Fichier de donnees des faceSet
Fichier de donnees des masses
Définition à la ligne 92 du fichier ObjetSimule.cpp.
Références _Fich_FaceSet, _Fich_Masses, _Fich_Points, _Nb_Particules, et Maillage.
Référencé par init().
Voici le graphe d'appel pour cette fonction :
void ObjetSimule::setInit | ( | ) |
Initialisation des tableaux et construction du maillage a partir des fichiers de donnees
Lecture de toutes les particules
Fichier de donnees des points
Ne considere pas le premier element du fichier de point (correspond au nb de particules deja lu)
Lecture des positions
remplissage de P
Lecture de toutes les masses
Lecture des masses
Remplissage de M
Calculs intermediaires
Vecteur nulle pour initialiser les vitesses, accel, forces des particules
Ajout de la particule dans le maillage
Message pour la fin de la lecture des positions et masses
Constructions de toutes les facettes du maillage
Nombre de facets
Remplissage de allfacets
Fermeture des fichiers de donnees
Modification des des normales
Message pour la fin de la creation du maillage
Définition à la ligne 145 du fichier ObjetSimule.cpp.
Références _Fich_FaceSet, _Fich_Masses, _Fich_Points, _Nb_Particules, Mesh::_NFacets, _Normals, _NSize, _RessOS, _Size, Mesh::_VIndices, Mesh::_VISize, A, Mesh::AddParticule(), Force, Mesh::GetParticule(), Coord::getX(), Coord::getY(), Coord::getZ(), M, Maillage, Mesh::MakeFace(), P, Particule::SetId(), setNormals(), Particule::SetPosition(), Coord::setX(), Coord::setY(), Coord::setZ(), et V.
Référencé par init().
Voici le graphe d'appel pour cette fonction :
Voici le graphe d'appel pour cette fonction :
void ObjetSimule::init | ( | ) | [virtual] |
Initialisation de la simulation
Ouverture des fichiers de donnees de l objet a simuler
Initialisation des tableaux et construction du maillage a partir du fichier de donnees
Implémente Noeud.
Définition à la ligne 76 du fichier ObjetSimule.cpp.
Références setInit(), et setOpenFile().
Voici le graphe d'appel pour cette fonction :
void ObjetSimule::CalculForce | ( | ) |
Calcul des forces appliquees sur les particules
Définition à la ligne 42 du fichier Calculs.cpp.
Référencé par Simulation().
Voici le graphe d'appel pour cette fonction :
void ObjetSimule::CalculAccel | ( | Coord | g | ) |
Calcul des accelerations (avec ajout de la gravite aux forces)
Définition à la ligne 54 du fichier Calculs.cpp.
Référencé par Simulation().
Voici le graphe d'appel pour cette fonction :
void ObjetSimule::CalculPositionVitesseTps0 | ( | float | visco | ) |
Calcul de la position et de la vitesse des particules au temps 0 pour la methode Leap Frog
Définition à la ligne 64 du fichier Calculs.cpp.
Référencé par Simulation().
Voici le graphe d'appel pour cette fonction :
void ObjetSimule::CalculPositionVitesse | ( | float | visco | ) |
Calcul des positions et des vitesses
Définition à la ligne 73 du fichier Calculs.cpp.
Référencé par Simulation().
Voici le graphe d'appel pour cette fonction :
void ObjetSimule::Simulation | ( | Coord | gravite, | |
float | viscosite, | |||
int | Tps | |||
) | [virtual] |
Simulation de l objet
Modification des normales
Implémente Noeud.
Définition à la ligne 300 du fichier ObjetSimule.cpp.
Références CalculAccel(), CalculForce(), CalculPositionVitesse(), CalculPositionVitesseTps0(), et setNormals().
Voici le graphe d'appel pour cette fonction :
void ObjetSimule::AffichagePos | ( | int | tps | ) |
Affichage des positions de chaque particule
Définition à la ligne 438 du fichier ObjetSimule.cpp.
Références _Nb_Particules, et P.
void ObjetSimule::affiche | ( | ) | [virtual] |
Dessin du maillage. Methode invoquee par le graphe de scene.
Dessin de l objet
Sauvegarde de la matrice courante
Affichage du maillage
Implémente Noeud.
Définition à la ligne 465 du fichier ObjetSimule.cpp.
void ObjetSimule::setNormals | ( | ) |
Modification du tableau des normales
Définition à la ligne 369 du fichier ObjetSimule.cpp.
Références Mesh::_NFacets, _Normals, _NSize, Mesh::_VIndices, Coord::getX(), Coord::getY(), Coord::getZ(), Maillage, et NormaleFace().
Référencé par setInit(), et Simulation().
Voici le graphe d'appel pour cette fonction :
Voici le graphe d'appel pour cette fonction :
void ObjetSimule::NormaleFace | ( | Coord & | normale, | |
int | a, | |||
int | b, | |||
int | c | |||
) |
Calcul de la normale a une face (a, b, c)
Définition à la ligne 337 du fichier ObjetSimule.cpp.
Références Coord::getX(), Coord::getY(), Coord::getZ(), P, Coord::setX(), Coord::setY(), et Coord::setZ().
Référencé par setNormals().
Voici le graphe d'appel pour cette fonction :
Voici le graphe d'appel pour cette fonction :
void ObjetSimule::setNSize | ( | int | size | ) | [inline] |
Modification de la taille du tableau des normales
Définition à la ligne 79 du fichier ObjetSimule.h.
Références _NSize.
Mesh* ObjetSimule::GetMesh | ( | ) | [inline] |
Acces au maillage de l objet
Définition à la ligne 82 du fichier ObjetSimule.h.
Références Maillage.
int ObjetSimule::GetNbPart | ( | ) | [inline] |
Acces au nombre de particules
Définition à la ligne 85 du fichier ObjetSimule.h.
Références _Nb_Particules.
const float* ObjetSimule::normals | ( | ) | const [inline] |
Pour acceder aux normales des sommets
Définition à la ligne 88 du fichier ObjetSimule.h.
Références _Normals.
const unsigned int ObjetSimule::nsize | ( | ) | const [inline] |
Pour acceder a la taille du tableau des normales
Définition à la ligne 91 du fichier ObjetSimule.h.
Références _NSize.
Coord ObjetSimule::GetTissuSize | ( | ) | [inline] |
std::string ObjetSimule::GetFacette | ( | ) | [inline] |
Acces au nom du fichier des facettes
Définition à la ligne 97 du fichier ObjetSimule.h.
Références _Fich_FaceSet.
std::string ObjetSimule::_Fich_Points [protected] |
Fichier de donnees contenant les points.
Donnees relatives aux fichiers de donnees
Définition à la ligne 108 du fichier ObjetSimule.h.
Référencé par Param_mesh(), setInit(), et setOpenFile().
std::string ObjetSimule::_Fich_FaceSet [protected] |
Fichier de donnees contenant les faceSet.
Définition à la ligne 111 du fichier ObjetSimule.h.
Référencé par GetFacette(), Param_mesh(), setInit(), et setOpenFile().
std::string ObjetSimule::_Fich_Masses [protected] |
Fichier de donnees contenant les masses.
Définition à la ligne 114 du fichier ObjetSimule.h.
Référencé par Param_mesh(), setInit(), et setOpenFile().
float ObjetSimule::_delta_t [protected] |
Intervalle de temps.
Donnees relatives a la simulation
Définition à la ligne 119 du fichier ObjetSimule.h.
Référencé par Param_mesh().
int ObjetSimule::_Nb_Particules [protected] |
Nombre de particules.
Donnees relatives au maillage
Définition à la ligne 124 du fichier ObjetSimule.h.
Référencé par AffichagePos(), GetNbPart(), setInit(), et setOpenFile().
int ObjetSimule::_Nb_Ressorts [protected] |
Spring ObjetSimule::_RessOS [protected] |
Caracteristiques des ressorts.
Définition à la ligne 130 du fichier ObjetSimule.h.
Référencé par ObjetSimule(), Param_mesh(), et setInit().
Coord ObjetSimule::_Size [protected] |
Longueur du tissu dans chacune des directions x,y,z.
Définition à la ligne 133 du fichier ObjetSimule.h.
Référencé par GetTissuSize(), et setInit().
std::vector<Coord> ObjetSimule::P [protected] |
Declaration pour les tableaux des particules pour les positions.
Structures de donnees pour les calculs
Définition à la ligne 138 du fichier ObjetSimule.h.
Référencé par AffichagePos(), NormaleFace(), et setInit().
std::vector<Coord> ObjetSimule::V [protected] |
Declaration pour les tableaux des particules pour les vitesses.
Définition à la ligne 141 du fichier ObjetSimule.h.
Référencé par setInit().
std::vector<Coord> ObjetSimule::A [protected] |
Declaration pour les tableaux des particules pour les accelerations.
Définition à la ligne 144 du fichier ObjetSimule.h.
Référencé par setInit().
std::vector<float> ObjetSimule::M [protected] |
Declaration du tableau des masses des particules.
Définition à la ligne 147 du fichier ObjetSimule.h.
Référencé par setInit().
std::vector<Coord> ObjetSimule::Force [protected] |
Declaration du tableau des forces des particules.
Définition à la ligne 150 du fichier ObjetSimule.h.
Référencé par setInit().
Mesh* ObjetSimule::Maillage [protected] |
Declaration du maillage.
Définition à la ligne 153 du fichier ObjetSimule.h.
Référencé par GetMesh(), setInit(), setNormals(), et setOpenFile().
float* ObjetSimule::_Normals [protected] |
Tableau des normales des sommets.
Définition à la ligne 156 du fichier ObjetSimule.h.
Référencé par normals(), setInit(), setNormals(), et ~ObjetSimule().
unsigned int ObjetSimule::_NSize [protected] |
Taille du tableau des normales.
Définition à la ligne 159 du fichier ObjetSimule.h.
Référencé par nsize(), setInit(), setNormals(), et setNSize().