18 #include "Tympan/core/config.h"
69 if (TYMaillage::operator!=(other))
124 return "TYRectangularMaillage";
143 bool densiteXOk =
false;
144 bool densiteYOk =
false;
145 bool bOldDatas =
false;
146 double densiteX = 0.0;
147 double densiteY = 0.0;
154 QDomNodeList childs = domElement.childNodes();
155 for (
unsigned int i = 0; i < childs.length(); i++)
157 elemCur = childs.item(i).toElement();
168 compatibilityVector->push_back(pSpectre);
175 if (bOldDatas ==
true)
181 delete compatibilityVector;
193 QString fileName = QString(sFilePath.c_str());
194 int i = fileName.lastIndexOf(
'/');
195 QDir fileDirectory = QDir(fileName.mid(0, i));
196 if (!fileDirectory.exists())
198 fileDirectory.mkdir(fileName.mid(0, i));
201 if (!fileName.isEmpty())
203 if (!fileName.endsWith(
".xml"))
215 xmlManager.
createDoc(TY_PRODUCT_XMLTAG_, TY_PRODUCT_VERSION_);
218 if (xmlManager.
save(fileName) == 0)
229 QString fileName = QString(sFilePath.c_str());
231 if (fileName.isEmpty())
238 if (xmlManager.
load(fileName, elements))
240 if (elements.size() == 1)
243 if (strcmp(elt->
getClassName(),
"TYRectangularMaillage") == 0)
260 xmlManager.
createDoc(TY_PRODUCT_XMLTAG_, TY_PRODUCT_VERSION_);
265 return retString.toStdString();
274 if (xmlManager.
loadFromString(QString(sXMLString.c_str()), elements))
276 if (elements.size() == 1)
279 if (strcmp(elt->
getClassName(),
"TYRectangularMaillage") == 0)
301 unsigned long nbPtsX = 0, nbPtsY = 0;
322 for (
unsigned int iY = 0; iY < nbPtsY; iY++)
325 for (
unsigned int iX = 0; iX < nbPtsX; iX++)
328 OPoint3D pos = startPt + (vecX * iX) + (vecY * iY);
357 nbPtsX ? nbPtsX : nbPtsX++;
358 nbPtsY ? nbPtsY : nbPtsY++;
365 stepx = vecX * (1.0 / (double)nbPtsX);
366 stepy = vecY * (1.0 / (double)nbPtsY);
376 unsigned long longx = 0, longy = 0;
std::vector< LPTYSpectre > TYTabLPSpectre
Collection de TYSpectre.
std::vector< LPTYElement > LPTYElementArray
Representation graphique d'un maillage rectangulaire (fichier header)
TY_EXT_GRAPHIC_INST(TYRectangularMaillage)
TY_EXTENSION_INST(TYRectangularMaillage)
virtual const char * getClassName() const
double norme() const
Computes the length of this vector.
QString _name
Nom courant de l'element.
bool callFromXMLIfEqual(DOM_Element &domElement, int *pRetVal=NULL)
void setAllUses(void *allUses)
virtual void setIsGeometryModified(bool isModified)
virtual void clearResult()
bool addPointCalcul(LPTYPointCalcul pPtCalcul)
Ajoute un nouveau point de calcul.
virtual bool deepCopy(const TYElement *pOther, bool copyId=true, bool pUseCopyTag=false)
virtual int fromXML(DOM_Element domElement)
TYMaillage & operator=(const TYMaillage &other)
Operateur =.
void remAllPointCalcul()
Suppression de tous les elements.
virtual DOM_Element toXML(DOM_Element &domElement)
QString generateName(const char *classname)
Retourne le nom de la classe associe a un nombre.
static TYNameManager * get()
Retourne l'instance singleton.
Classe de definition d'un point de calcul.C'est une classe derivee a TYPoint avec en plus un spectrep...
void setSpectre(const LPTYSpectre spectre)
Set du spectre resultat d'un calcul donne.
virtual DOM_Element toXML(DOM_Element &domElement)
virtual bool deepCopy(const TYElement *pOther, bool copyId=true, bool pUseCopyTag=false)
virtual double surface() const
Classe de definition d'un maillage rectangulaire.
double _distancePointsCalculX
La distance entre 2 points de calcul consécutifs en X.
virtual DOM_Element toXML(DOM_Element &domElement)
bool fromXMLString(const std::string &sXMLString)
virtual int fromXML(DOM_Element domElement)
virtual ~TYRectangularMaillage()
Destructeur. Le destructeur de la classe TYRectangularMaillage.
double _distancePointsCalculY
La distance entre 2 points de calcul consécutifs en Y.
bool operator==(const TYRectangularMaillage &other) const
Operateur ==.
virtual void getDimensions(int &x, int &y) const
Return the dimensions in x and y.
void getDimensionsAndSteps(unsigned long &x, unsigned long &y, OVector3D &stepx, OVector3D &stepy) const
Renvoie le nombre de lignes et de colonnes du maillage.En fonction de ses dimensions en 3D et de la d...
std::string toXMLString()
virtual void clearResult()
double _nbPointsX
Numbers of point in row.
virtual std::string toString() const
void setDensiteY(double densiteY)
Fixe la densite de points de calcul en Y.
LPTYRectangle _pRect
Le rectangle associe a ce maillage.
bool operator!=(const TYRectangularMaillage &other) const
Operateur !=.
virtual int getIndexPtCalcul(int x, int y) const
Return the index.
virtual bool deepCopy(const TYElement *pOther, bool copyId=true, bool pUseCopyTag=false)
TYRectangularMaillage & operator=(const TYRectangularMaillage &other)
Operateur =.
void setDensiteX(double densiteX)
Fixe la densite de points de calcul en X.
double _densiteX
La densite de points de calcul en X.
double _densiteY
La densite de points de calcul en Y.
virtual void make(LPTYRectangle pRect, double densiteX=TY_MAILLAGE_DEFAULT_DENSITE, double densiteY=TY_MAILLAGE_DEFAULT_DENSITE)
Rempli la structure de points de calcul a partir d'un rectangle et de densites de points.
TYRectangularMaillage()
Constructeur. Le constructeur de la classe TYRectangularMaillage.
int save(QString fileName)
int load(const QString &fileName, LPTYElementArray &eltCollection)
void createDoc(QString docName, QString version)
int addElement(TYElement *pElt)
int loadFromString(const QString &xmlString, LPTYElementArray &eltCollection)