Skip to content
Snippets Groups Projects
Commit c2b2fc01 authored by Christophe Geuzaine's avatar Christophe Geuzaine
Browse files

*** empty log message ***

parent e864dfe2
No related branches found
No related tags found
No related merge requests found
# $Id: Makefile,v 1.103 2006-08-15 02:17:25 geuzaine Exp $ # $Id: Makefile,v 1.104 2006-08-16 17:14:56 geuzaine Exp $
# #
# Copyright (C) 1997-2006 C. Geuzaine, J.-F. Remacle # Copyright (C) 1997-2006 C. Geuzaine, J.-F. Remacle
# #
...@@ -126,10 +126,10 @@ CommandLine.o: CommandLine.cpp Gmsh.h Message.h ../DataStr/Malloc.h \ ...@@ -126,10 +126,10 @@ CommandLine.o: CommandLine.cpp Gmsh.h Message.h ../DataStr/Malloc.h \
../Geo/MVertex.h ../Geo/SPoint3.h ../Geo/GPoint.h ../Geo/GEdge.h \ ../Geo/MVertex.h ../Geo/SPoint3.h ../Geo/GPoint.h ../Geo/GEdge.h \
../Geo/GEntity.h ../Geo/GVertex.h ../Geo/SVector3.h ../Geo/SPoint3.h \ ../Geo/GEntity.h ../Geo/GVertex.h ../Geo/SVector3.h ../Geo/SPoint3.h \
../Geo/SPoint3.h ../Geo/SPoint2.h ../Geo/MElement.h ../Geo/MVertex.h \ ../Geo/SPoint3.h ../Geo/SPoint2.h ../Geo/MElement.h ../Geo/MVertex.h \
../Geo/MEdge.h ../Geo/MVertex.h ../Geo/MFace.h ../Geo/MVertex.h \ ../Geo/MEdge.h ../Geo/MVertex.h ../Geo/SVector3.h ../Geo/MFace.h \
../Geo/SVector3.h ../Geo/GFace.h ../Geo/GPoint.h ../Geo/GEntity.h \ ../Geo/MVertex.h ../Geo/SVector3.h ../Geo/GFace.h ../Geo/GPoint.h \
../Geo/MElement.h ../Geo/SPoint2.h ../Geo/SVector3.h ../Geo/Pair.h \ ../Geo/GEntity.h ../Geo/MElement.h ../Geo/SPoint2.h ../Geo/SVector3.h \
../Geo/GRegion.h ../Geo/GEntity.h ../Geo/MElement.h \ ../Geo/Pair.h ../Geo/GRegion.h ../Geo/GEntity.h ../Geo/MElement.h \
../Geo/SBoundingBox3d.h ../Common/SmoothNormals.h OS.h ../Geo/SBoundingBox3d.h ../Common/SmoothNormals.h OS.h
# 1 "/Users/geuzaine/.gmsh/Common//" # 1 "/Users/geuzaine/.gmsh/Common//"
OS.o: OS.cpp Message.h OS.o: OS.cpp Message.h
...@@ -145,13 +145,14 @@ Visibility.o: Visibility.cpp Visibility.h GmshDefines.h ../Geo/GVertex.h \ ...@@ -145,13 +145,14 @@ Visibility.o: Visibility.cpp Visibility.h GmshDefines.h ../Geo/GVertex.h \
../Geo/MVertex.h ../Geo/SPoint3.h ../Geo/GPoint.h ../Geo/GEdge.h \ ../Geo/MVertex.h ../Geo/SPoint3.h ../Geo/GPoint.h ../Geo/GEdge.h \
../Geo/GEntity.h ../Geo/GVertex.h ../Geo/SVector3.h ../Geo/SPoint3.h \ ../Geo/GEntity.h ../Geo/GVertex.h ../Geo/SVector3.h ../Geo/SPoint3.h \
../Geo/SPoint3.h ../Geo/SPoint2.h ../Geo/MElement.h ../Geo/MVertex.h \ ../Geo/SPoint3.h ../Geo/SPoint2.h ../Geo/MElement.h ../Geo/MVertex.h \
../Geo/MEdge.h ../Geo/MVertex.h ../Geo/MFace.h ../Geo/MVertex.h \ ../Geo/MEdge.h ../Geo/MVertex.h ../Geo/SVector3.h ../Geo/MFace.h \
../Geo/SVector3.h ../Numeric/Numeric.h ../Geo/GFace.h ../Geo/GPoint.h \ ../Geo/MVertex.h ../Geo/SVector3.h ../Numeric/Numeric.h ../Geo/GFace.h \
../Geo/GEntity.h ../Geo/MElement.h ../Geo/SPoint2.h ../Geo/SVector3.h \ ../Geo/GPoint.h ../Geo/GEntity.h ../Geo/MElement.h ../Geo/SPoint2.h \
../Geo/Pair.h ../Geo/GRegion.h ../Geo/GEntity.h ../Geo/MElement.h \ ../Geo/SVector3.h ../Geo/Pair.h ../Geo/GRegion.h ../Geo/GEntity.h \
../Geo/GModel.h ../Geo/GVertex.h ../Geo/GEdge.h ../Geo/GFace.h \ ../Geo/MElement.h ../Geo/GModel.h ../Geo/GVertex.h ../Geo/GEdge.h \
../Geo/GRegion.h ../Geo/SBoundingBox3d.h ../Common/SmoothNormals.h \ ../Geo/GFace.h ../Geo/GRegion.h ../Geo/SBoundingBox3d.h \
../Parser/Parser.h ../DataStr/List.h ../DataStr/Tree.h ../DataStr/avl.h ../Common/SmoothNormals.h ../Parser/Parser.h ../DataStr/List.h \
../DataStr/Tree.h ../DataStr/avl.h
# 1 "/Users/geuzaine/.gmsh/Common//" # 1 "/Users/geuzaine/.gmsh/Common//"
Trackball.o: Trackball.cpp Trackball.h Trackball.o: Trackball.cpp Trackball.h
# 1 "/Users/geuzaine/.gmsh/Common//" # 1 "/Users/geuzaine/.gmsh/Common//"
......
# $Id: Makefile,v 1.100 2006-08-15 02:17:25 geuzaine Exp $ # $Id: Makefile,v 1.101 2006-08-16 17:14:56 geuzaine Exp $
# #
# Copyright (C) 1997-2006 C. Geuzaine, J.-F. Remacle # Copyright (C) 1997-2006 C. Geuzaine, J.-F. Remacle
# #
...@@ -87,10 +87,11 @@ Main.o: Main.cpp GUI.h Opengl_Window.h ../Mesh/Mesh.h \ ...@@ -87,10 +87,11 @@ Main.o: Main.cpp GUI.h Opengl_Window.h ../Mesh/Mesh.h \
../Geo/SPoint3.h ../Geo/GPoint.h ../Geo/GEdge.h ../Geo/GEntity.h \ ../Geo/SPoint3.h ../Geo/GPoint.h ../Geo/GEdge.h ../Geo/GEntity.h \
../Geo/GVertex.h ../Geo/SVector3.h ../Geo/SPoint3.h ../Geo/SPoint3.h \ ../Geo/GVertex.h ../Geo/SVector3.h ../Geo/SPoint3.h ../Geo/SPoint3.h \
../Geo/SPoint2.h ../Geo/MElement.h ../Geo/MVertex.h ../Geo/MEdge.h \ ../Geo/SPoint2.h ../Geo/MElement.h ../Geo/MVertex.h ../Geo/MEdge.h \
../Geo/MVertex.h ../Geo/MFace.h ../Geo/MVertex.h ../Geo/SVector3.h \ ../Geo/MVertex.h ../Geo/SVector3.h ../Geo/MFace.h ../Geo/MVertex.h \
../Geo/GFace.h ../Geo/GPoint.h ../Geo/GEntity.h ../Geo/MElement.h \ ../Geo/SVector3.h ../Geo/GFace.h ../Geo/GPoint.h ../Geo/GEntity.h \
../Geo/SPoint2.h ../Geo/SVector3.h ../Geo/Pair.h ../Geo/GRegion.h \ ../Geo/MElement.h ../Geo/SPoint2.h ../Geo/SVector3.h ../Geo/Pair.h \
../Geo/GEntity.h ../Geo/MElement.h ../Geo/SBoundingBox3d.h ../Geo/GRegion.h ../Geo/GEntity.h ../Geo/MElement.h \
../Geo/SBoundingBox3d.h
# 1 "/Users/geuzaine/.gmsh/Fltk//" # 1 "/Users/geuzaine/.gmsh/Fltk//"
Message.o: Message.cpp ../Common/Gmsh.h ../Common/Message.h \ Message.o: Message.cpp ../Common/Gmsh.h ../Common/Message.h \
../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \ ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
...@@ -159,12 +160,12 @@ Callbacks.o: Callbacks.cpp ../Common/Gmsh.h ../Common/Message.h \ ...@@ -159,12 +160,12 @@ Callbacks.o: Callbacks.cpp ../Common/Gmsh.h ../Common/Message.h \
../Geo/SPoint3.h ../Geo/GPoint.h ../Geo/GEdge.h ../Geo/GEntity.h \ ../Geo/SPoint3.h ../Geo/GPoint.h ../Geo/GEdge.h ../Geo/GEntity.h \
../Geo/GVertex.h ../Geo/SVector3.h ../Geo/SPoint3.h ../Geo/SPoint3.h \ ../Geo/GVertex.h ../Geo/SVector3.h ../Geo/SPoint3.h ../Geo/SPoint3.h \
../Geo/SPoint2.h ../Geo/MElement.h ../Geo/MVertex.h ../Geo/MEdge.h \ ../Geo/SPoint2.h ../Geo/MElement.h ../Geo/MVertex.h ../Geo/MEdge.h \
../Geo/MVertex.h ../Geo/MFace.h ../Geo/MVertex.h ../Geo/SVector3.h \ ../Geo/MVertex.h ../Geo/SVector3.h ../Geo/MFace.h ../Geo/MVertex.h \
../Geo/GFace.h ../Geo/GPoint.h ../Geo/GEntity.h ../Geo/MElement.h \ ../Geo/SVector3.h ../Geo/GFace.h ../Geo/GPoint.h ../Geo/GEntity.h \
../Geo/SPoint2.h ../Geo/SVector3.h ../Geo/Pair.h ../Geo/GRegion.h \ ../Geo/MElement.h ../Geo/SPoint2.h ../Geo/SVector3.h ../Geo/Pair.h \
../Geo/GEntity.h ../Geo/MElement.h Solvers.h ../Common/OS.h \ ../Geo/GRegion.h ../Geo/GEntity.h ../Geo/MElement.h Solvers.h \
../Geo/GModel.h ../Geo/GVertex.h ../Geo/GEdge.h ../Geo/GFace.h \ ../Common/OS.h ../Geo/GModel.h ../Geo/GVertex.h ../Geo/GEdge.h \
../Geo/GRegion.h ../Geo/SBoundingBox3d.h ../Geo/GFace.h ../Geo/GRegion.h ../Geo/SBoundingBox3d.h
# 1 "/Users/geuzaine/.gmsh/Fltk//" # 1 "/Users/geuzaine/.gmsh/Fltk//"
Opengl.o: Opengl.cpp ../Common/Gmsh.h ../Common/Message.h \ Opengl.o: Opengl.cpp ../Common/Gmsh.h ../Common/Message.h \
../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \ ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
......
...@@ -29,22 +29,15 @@ class MEdge { ...@@ -29,22 +29,15 @@ class MEdge {
private: private:
MVertex *_v[2]; MVertex *_v[2];
// Storing a pointer to (one of the) originating elements is a
// significant overhead, especially since I only use it to get a
// crude normal (for graphic purposes) or to know (one of) the
// adjacent mesh partitions. I will try to come up with something
// better later.
MElement *_element;
public: public:
MEdge(MVertex *v0, MVertex *v1, MElement *e) MEdge(MVertex *v0, MVertex *v1, MElement *e)
: _element(e)
{ {
_v[0] = v0; _v[1] = v1; _v[0] = v0; _v[1] = v1;
} }
inline int getNumVertices() const { return 2; } inline int getNumVertices() const { return 2; }
inline MVertex *getVertex(int i) const { return _v[i]; } inline MVertex *getVertex(int i) const { return _v[i]; }
inline MElement *getElement() const { return _element; } inline MVertex *getMinVertex() const { return std::min(_v[0], _v[1]); }
inline MVertex *getMaxVertex() const { return std::max(_v[0], _v[1]); }
SVector3 tangent() SVector3 tangent()
{ {
SVector3 t(_v[1]->x() - _v[0]->x(), SVector3 t(_v[1]->x() - _v[0]->x(),
......
...@@ -21,6 +21,7 @@ ...@@ -21,6 +21,7 @@
// Please report all bugs and problems to <gmsh@geuz.org>. // Please report all bugs and problems to <gmsh@geuz.org>.
#include <set> #include <set>
#include <map>
#include <algorithm> #include <algorithm>
#include "GEdge.h" #include "GEdge.h"
#include "GFace.h" #include "GFace.h"
...@@ -30,14 +31,53 @@ ...@@ -30,14 +31,53 @@
#include "MElement.h" #include "MElement.h"
#include "VertexArray.h" #include "VertexArray.h"
#include "Message.h" #include "Message.h"
#include "OS.h"
class MRep { class MRep {
protected:
// containedr for the edge representation (this 2x faster than
// std::set<MEdge, MEdgeLessThan>)
std::map<std::pair<MVertex*, MVertex*>, MElement*> edges;
// generates the edges from a bunch of elements
template<class T>
void generateEdgeRep(std::vector<T*> &elements)
{
if(edges.size()) return;
for(unsigned int i = 0; i < elements.size(); i++){
for(int j = 0; j < elements[i]->getNumEdgesRep(); j++){
MEdge e = elements[i]->getEdgeRep(j);
std::pair<MVertex*, MVertex*> p(e.getMinVertex(), e.getMaxVertex());
if(!edges.count(p)) edges[p] = elements[i];
}
}
}
public: public:
MRep() : va_lines(0), va_triangles(0), va_quads(0) {} MRep() : va_lines(0), va_triangles(0), va_quads(0) {}
virtual ~MRep(){} virtual ~MRep(){}
virtual void generateEdges() = 0;
std::set<MEdge, MEdgeLessThan> edges; // generates the edge representation
virtual void generateEdgeRep() = 0;
// acces the edge representation
typedef std::map<std::pair<MVertex*, MVertex*>, MElement*>::const_iterator eriter;
eriter firstEdgeRep() { return edges.begin(); }
eriter lastEdgeRep() { return edges.end(); }
int getNumEdgeRep() { return edges.size(); }
// the vertex arrays containing full elements
VertexArray *va_lines, *va_triangles, *va_quads; VertexArray *va_lines, *va_triangles, *va_quads;
// destroys all the vertex arrays
void resetArrays(){
if(va_lines) delete va_lines;
va_lines = 0;
if(va_triangles) delete va_triangles;
va_triangles = 0;
if(va_quads) delete va_quads;
va_quads = 0;
}
}; };
class MRepEdge : public MRep { class MRepEdge : public MRep {
...@@ -47,13 +87,9 @@ class MRepEdge : public MRep { ...@@ -47,13 +87,9 @@ class MRepEdge : public MRep {
public: public:
MRepEdge(GEdge *e) : _e(e) {} MRepEdge(GEdge *e) : _e(e) {}
virtual ~MRepEdge(){} virtual ~MRepEdge(){}
virtual void generateEdges() virtual void generateEdgeRep()
{ {
if(edges.size()) return; MRep::generateEdgeRep(_e->lines);
for(unsigned int i = 0; i < _e->lines.size(); i++)
for(int j = 0; j < _e->lines[i]->getNumEdgesRep(); j++)
edges.insert(_e->lines[i]->getEdgeRep(j));
Msg(DEBUG, "%d edges in line %d", (int)edges.size(), _e->tag());
} }
}; };
...@@ -64,16 +100,13 @@ class MRepFace : public MRep { ...@@ -64,16 +100,13 @@ class MRepFace : public MRep {
public: public:
MRepFace(GFace *f) : _f(f) {} MRepFace(GFace *f) : _f(f) {}
virtual ~MRepFace(){} virtual ~MRepFace(){}
virtual void generateEdges() virtual void generateEdgeRep()
{ {
if(edges.size()) return; double t = Cpu();
for(unsigned int i = 0; i < _f->triangles.size(); i++) MRep::generateEdgeRep(_f->triangles);
for(int j = 0; j < _f->triangles[i]->getNumEdgesRep(); j++) MRep::generateEdgeRep(_f->quadrangles);
edges.insert(_f->triangles[i]->getEdgeRep(j)); Msg(DEBUG, "Created %d edges in surface %d (%gs)",
for(unsigned int i = 0; i < _f->quadrangles.size(); i++) (int)edges.size(), _f->tag(), Cpu()-t);
for(int j = 0; j < _f->quadrangles[i]->getNumEdgesRep(); j++)
edges.insert(_f->quadrangles[i]->getEdgeRep(j));
Msg(DEBUG, "%d edges in surface %d", (int)edges.size(), _f->tag());
} }
}; };
...@@ -84,22 +117,15 @@ class MRepRegion : public MRep { ...@@ -84,22 +117,15 @@ class MRepRegion : public MRep {
public: public:
MRepRegion(GRegion *r) : _r(r) {} MRepRegion(GRegion *r) : _r(r) {}
virtual ~MRepRegion(){} virtual ~MRepRegion(){}
virtual void generateEdges() virtual void generateEdgeRep()
{ {
if(edges.size()) return; double t = Cpu();
for(unsigned int i = 0; i < _r->tetrahedra.size(); i++) MRep::generateEdgeRep(_r->tetrahedra);
for(int j = 0; j < _r->tetrahedra[i]->getNumEdgesRep(); j++) MRep::generateEdgeRep(_r->hexahedra);
edges.insert(_r->tetrahedra[i]->getEdgeRep(j)); MRep::generateEdgeRep(_r->prisms);
for(unsigned int i = 0; i < _r->hexahedra.size(); i++) MRep::generateEdgeRep(_r->pyramids);
for(int j = 0; j < _r->hexahedra[i]->getNumEdgesRep(); j++) Msg(DEBUG, "Created %d edges in volume %d (%gs)",
edges.insert(_r->hexahedra[i]->getEdgeRep(j)); (int)edges.size(), _r->tag(), Cpu()-t);
for(unsigned int i = 0; i < _r->prisms.size(); i++)
for(int j = 0; j < _r->prisms[i]->getNumEdgesRep(); j++)
edges.insert(_r->prisms[i]->getEdgeRep(j));
for(unsigned int i = 0; i < _r->pyramids.size(); i++)
for(int j = 0; j < _r->pyramids[i]->getNumEdgesRep(); j++)
edges.insert(_r->pyramids[i]->getEdgeRep(j));
Msg(DEBUG, "%d edges in volume %d", (int)edges.size(), _r->tag());
} }
}; };
......
# $Id: Makefile,v 1.93 2006-08-15 02:17:25 geuzaine Exp $ # $Id: Makefile,v 1.94 2006-08-16 17:14:57 geuzaine Exp $
# #
# Copyright (C) 1997-2006 C. Geuzaine, J.-F. Remacle # Copyright (C) 1997-2006 C. Geuzaine, J.-F. Remacle
# #
...@@ -126,7 +126,7 @@ GEntity.o: GEntity.cpp GEntity.h Range.h SPoint3.h SBoundingBox3d.h \ ...@@ -126,7 +126,7 @@ GEntity.o: GEntity.cpp GEntity.h Range.h SPoint3.h SBoundingBox3d.h \
../Common/GmshDefines.h MRep.h GEdge.h GVertex.h MVertex.h GPoint.h \ ../Common/GmshDefines.h MRep.h GEdge.h GVertex.h MVertex.h GPoint.h \
SVector3.h SPoint2.h MElement.h MEdge.h MFace.h ../Numeric/Numeric.h \ SVector3.h SPoint2.h MElement.h MEdge.h MFace.h ../Numeric/Numeric.h \
GFace.h Pair.h GRegion.h ../Common/VertexArray.h ../DataStr/List.h \ GFace.h Pair.h GRegion.h ../Common/VertexArray.h ../DataStr/List.h \
../Common/Message.h ../Common/Message.h ../Common/OS.h ../Common/Context.h
# 1 "/Users/geuzaine/.gmsh/Geo//" # 1 "/Users/geuzaine/.gmsh/Geo//"
GVertex.o: GVertex.cpp GVertex.h GEntity.h Range.h SPoint3.h \ GVertex.o: GVertex.cpp GVertex.h GEntity.h Range.h SPoint3.h \
SBoundingBox3d.h ../Common/GmshDefines.h MVertex.h GPoint.h SBoundingBox3d.h ../Common/GmshDefines.h MVertex.h GPoint.h
...@@ -166,7 +166,7 @@ GModelIO.o: GModelIO.cpp ../Common/Message.h ../Common/GmshDefines.h \ ...@@ -166,7 +166,7 @@ GModelIO.o: GModelIO.cpp ../Common/Message.h ../Common/GmshDefines.h \
MVertex.o: MVertex.cpp MVertex.h SPoint3.h MVertex.o: MVertex.cpp MVertex.h SPoint3.h
# 1 "/Users/geuzaine/.gmsh/Geo//" # 1 "/Users/geuzaine/.gmsh/Geo//"
MElement.o: MElement.cpp MElement.h ../Common/GmshDefines.h MVertex.h \ MElement.o: MElement.cpp MElement.h ../Common/GmshDefines.h MVertex.h \
SPoint3.h MEdge.h MFace.h SVector3.h ../Numeric/Numeric.h GEntity.h \ SPoint3.h MEdge.h SVector3.h MFace.h ../Numeric/Numeric.h GEntity.h \
Range.h SBoundingBox3d.h Range.h SBoundingBox3d.h
# 1 "/Users/geuzaine/.gmsh/Geo//" # 1 "/Users/geuzaine/.gmsh/Geo//"
gmshModel.o: gmshModel.cpp gmshModel.h GModel.h GVertex.h GEntity.h \ gmshModel.o: gmshModel.cpp gmshModel.h GModel.h GVertex.h GEntity.h \
......
# $Id: Makefile,v 1.96 2006-08-15 02:17:26 geuzaine Exp $ # $Id: Makefile,v 1.97 2006-08-16 17:14:57 geuzaine Exp $
# #
# Copyright (C) 1997-2006 C. Geuzaine, J.-F. Remacle # Copyright (C) 1997-2006 C. Geuzaine, J.-F. Remacle
# #
...@@ -86,11 +86,11 @@ Draw.o: Draw.cpp ../Common/Gmsh.h ../Common/Message.h ../DataStr/Malloc.h \ ...@@ -86,11 +86,11 @@ Draw.o: Draw.cpp ../Common/Gmsh.h ../Common/Message.h ../DataStr/Malloc.h \
../Geo/SPoint3.h ../Geo/MVertex.h ../Geo/SPoint3.h ../Geo/GPoint.h \ ../Geo/SPoint3.h ../Geo/MVertex.h ../Geo/SPoint3.h ../Geo/GPoint.h \
../Geo/GEdge.h ../Geo/GEntity.h ../Geo/GVertex.h ../Geo/SVector3.h \ ../Geo/GEdge.h ../Geo/GEntity.h ../Geo/GVertex.h ../Geo/SVector3.h \
../Geo/SPoint3.h ../Geo/SPoint3.h ../Geo/SPoint2.h ../Geo/MElement.h \ ../Geo/SPoint3.h ../Geo/SPoint3.h ../Geo/SPoint2.h ../Geo/MElement.h \
../Geo/MVertex.h ../Geo/MEdge.h ../Geo/MVertex.h ../Geo/MFace.h \ ../Geo/MVertex.h ../Geo/MEdge.h ../Geo/MVertex.h ../Geo/SVector3.h \
../Geo/MVertex.h ../Geo/SVector3.h ../Geo/GFace.h ../Geo/GPoint.h \ ../Geo/MFace.h ../Geo/MVertex.h ../Geo/SVector3.h ../Geo/GFace.h \
../Geo/GEntity.h ../Geo/MElement.h ../Geo/SPoint2.h ../Geo/SVector3.h \ ../Geo/GPoint.h ../Geo/GEntity.h ../Geo/MElement.h ../Geo/SPoint2.h \
../Geo/Pair.h ../Geo/GRegion.h ../Geo/GEntity.h ../Geo/MElement.h \ ../Geo/SVector3.h ../Geo/Pair.h ../Geo/GRegion.h ../Geo/GEntity.h \
../Geo/SBoundingBox3d.h ../Geo/MElement.h ../Geo/SBoundingBox3d.h
# 1 "/Users/geuzaine/.gmsh/Graphics//" # 1 "/Users/geuzaine/.gmsh/Graphics//"
Mesh.o: Mesh.cpp ../Common/Gmsh.h ../Common/Message.h ../DataStr/Malloc.h \ Mesh.o: Mesh.cpp ../Common/Gmsh.h ../Common/Message.h ../DataStr/Malloc.h \
../DataStr/List.h ../DataStr/Tree.h ../DataStr/avl.h ../DataStr/Tools.h \ ../DataStr/List.h ../DataStr/Tree.h ../DataStr/avl.h ../DataStr/Tools.h \
...@@ -100,12 +100,12 @@ Mesh.o: Mesh.cpp ../Common/Gmsh.h ../Common/Message.h ../DataStr/Malloc.h \ ...@@ -100,12 +100,12 @@ Mesh.o: Mesh.cpp ../Common/Gmsh.h ../Common/Message.h ../DataStr/Malloc.h \
../Geo/MVertex.h ../Geo/SPoint3.h ../Geo/GPoint.h ../Geo/GEdge.h \ ../Geo/MVertex.h ../Geo/SPoint3.h ../Geo/GPoint.h ../Geo/GEdge.h \
../Geo/GEntity.h ../Geo/GVertex.h ../Geo/SVector3.h ../Geo/SPoint3.h \ ../Geo/GEntity.h ../Geo/GVertex.h ../Geo/SVector3.h ../Geo/SPoint3.h \
../Geo/SPoint3.h ../Geo/SPoint2.h ../Geo/MElement.h ../Geo/MVertex.h \ ../Geo/SPoint3.h ../Geo/SPoint2.h ../Geo/MElement.h ../Geo/MVertex.h \
../Geo/MEdge.h ../Geo/MVertex.h ../Geo/MFace.h ../Geo/MVertex.h \ ../Geo/MEdge.h ../Geo/MVertex.h ../Geo/SVector3.h ../Geo/MFace.h \
../Geo/SVector3.h ../Numeric/Numeric.h ../Geo/GFace.h ../Geo/GPoint.h \ ../Geo/MVertex.h ../Geo/SVector3.h ../Numeric/Numeric.h ../Geo/GFace.h \
../Geo/GEntity.h ../Geo/MElement.h ../Geo/SPoint2.h ../Geo/SVector3.h \ ../Geo/GPoint.h ../Geo/GEntity.h ../Geo/MElement.h ../Geo/SPoint2.h \
../Geo/Pair.h ../Geo/GRegion.h ../Geo/GEntity.h ../Geo/MElement.h \ ../Geo/SVector3.h ../Geo/Pair.h ../Geo/GRegion.h ../Geo/GEntity.h \
../Geo/SBoundingBox3d.h ../Common/SmoothNormals.h Draw.h \ ../Geo/MElement.h ../Geo/SBoundingBox3d.h ../Common/SmoothNormals.h \
../Common/Views.h ../Common/ColorTable.h ../Common/VertexArray.h \ Draw.h ../Common/Views.h ../Common/ColorTable.h ../Common/VertexArray.h \
../Common/SmoothNormals.h ../Common/GmshMatrix.h \ ../Common/SmoothNormals.h ../Common/GmshMatrix.h \
../Common/AdaptiveViews.h ../Common/GmshMatrix.h ../Common/Context.h \ ../Common/AdaptiveViews.h ../Common/GmshMatrix.h ../Common/Context.h \
../Geo/MRep.h ../Geo/GEdge.h ../Geo/GFace.h ../Geo/GRegion.h \ ../Geo/MRep.h ../Geo/GEdge.h ../Geo/GFace.h ../Geo/GRegion.h \
...@@ -124,10 +124,11 @@ Geom.o: Geom.cpp ../Common/Gmsh.h ../Common/Message.h ../DataStr/Malloc.h \ ...@@ -124,10 +124,11 @@ Geom.o: Geom.cpp ../Common/Gmsh.h ../Common/Message.h ../DataStr/Malloc.h \
../Geo/SPoint3.h ../Geo/GPoint.h ../Geo/GEdge.h ../Geo/GEntity.h \ ../Geo/SPoint3.h ../Geo/GPoint.h ../Geo/GEdge.h ../Geo/GEntity.h \
../Geo/GVertex.h ../Geo/SVector3.h ../Geo/SPoint3.h ../Geo/SPoint3.h \ ../Geo/GVertex.h ../Geo/SVector3.h ../Geo/SPoint3.h ../Geo/SPoint3.h \
../Geo/SPoint2.h ../Geo/MElement.h ../Geo/MVertex.h ../Geo/MEdge.h \ ../Geo/SPoint2.h ../Geo/MElement.h ../Geo/MVertex.h ../Geo/MEdge.h \
../Geo/MVertex.h ../Geo/MFace.h ../Geo/MVertex.h ../Geo/SVector3.h \ ../Geo/MVertex.h ../Geo/SVector3.h ../Geo/MFace.h ../Geo/MVertex.h \
../Geo/GFace.h ../Geo/GPoint.h ../Geo/GEntity.h ../Geo/MElement.h \ ../Geo/SVector3.h ../Geo/GFace.h ../Geo/GPoint.h ../Geo/GEntity.h \
../Geo/SPoint2.h ../Geo/SVector3.h ../Geo/Pair.h ../Geo/GRegion.h \ ../Geo/MElement.h ../Geo/SPoint2.h ../Geo/SVector3.h ../Geo/Pair.h \
../Geo/GEntity.h ../Geo/MElement.h ../Geo/SBoundingBox3d.h ../Geo/GRegion.h ../Geo/GEntity.h ../Geo/MElement.h \
../Geo/SBoundingBox3d.h
# 1 "/Users/geuzaine/.gmsh/Graphics//" # 1 "/Users/geuzaine/.gmsh/Graphics//"
Post.o: Post.cpp ../Common/Gmsh.h ../Common/Message.h ../DataStr/Malloc.h \ Post.o: Post.cpp ../Common/Gmsh.h ../Common/Message.h ../DataStr/Malloc.h \
../DataStr/List.h ../DataStr/Tree.h ../DataStr/avl.h ../DataStr/Tools.h \ ../DataStr/List.h ../DataStr/Tree.h ../DataStr/avl.h ../DataStr/Tools.h \
......
// $Id: Mesh.cpp,v 1.169 2006-08-16 05:25:22 geuzaine Exp $ // $Id: Mesh.cpp,v 1.170 2006-08-16 17:14:57 geuzaine Exp $
// //
// Copyright (C) 1997-2006 C. Geuzaine, J.-F. Remacle // Copyright (C) 1997-2006 C. Geuzaine, J.-F. Remacle
// //
...@@ -245,8 +245,32 @@ static void drawBarycentricDual(std::vector<T*> &elements) ...@@ -245,8 +245,32 @@ static void drawBarycentricDual(std::vector<T*> &elements)
gl2psDisable(GL2PS_LINE_STIPPLE); gl2psDisable(GL2PS_LINE_STIPPLE);
} }
template<class T>
static bool allElementsVisible(std::vector<T*> &elements)
{
for(unsigned int i = 0; i < elements.size(); i++)
if(!elements[i]->getVisibility()) return false;
return true;
}
// Routines for filling and drawing the vertex arrays // Routines for filling and drawing the vertex arrays
static void addEdgesInArrays(GEntity *e, VertexArray *va, MRep *m)
{
for(MRep::eriter it = m->firstEdgeRep(); it != m->lastEdgeRep(); ++it){
MVertex *v[2] = {it->first.first, it->first.second};
MElement *ele = it->second;
SVector3 n = ele->getFace(0).normal();
int part = ele->getPartition();
for(int i = 0; i < 2; i++){
if(CTX.mesh.smooth_normals)
e->model()->normals->get(v[i]->x(), v[i]->y(), v[i]->z(), n[0], n[1], n[2]);
va->add(v[i]->x(), v[i]->y(), v[i]->z(), n[0], n[1], n[2],
CTX.color.mesh.carousel[abs(part % 20)]);
}
}
}
template<class T> template<class T>
static void addElementsInArrays(GEntity *e, VertexArray *va, std::vector<T*> &elements) static void addElementsInArrays(GEntity *e, VertexArray *va, std::vector<T*> &elements)
{ {
...@@ -273,6 +297,7 @@ static void addElementsInArrays(GEntity *e, VertexArray *va, std::vector<T*> &el ...@@ -273,6 +297,7 @@ static void addElementsInArrays(GEntity *e, VertexArray *va, std::vector<T*> &el
if(ele->getNumFacesRep()){ if(ele->getNumFacesRep()){
for(int j = 0; j < ele->getNumFacesRep(); j++){ for(int j = 0; j < ele->getNumFacesRep(); j++){
MFace fr = ele->getFaceRep(j); MFace fr = ele->getFaceRep(j);
if(fr.getNumVertices() != va->type) continue;
SVector3 n = fr.normal(); SVector3 n = fr.normal();
SPoint3 pc; SPoint3 pc;
if(CTX.mesh.explode != 1.) pc = ele->barycenter(); if(CTX.mesh.explode != 1.) pc = ele->barycenter();
...@@ -356,8 +381,7 @@ class drawMeshGVertex { ...@@ -356,8 +381,7 @@ class drawMeshGVertex {
public: public:
void operator () (GVertex *v) void operator () (GVertex *v)
{ {
if(!v->getVisibility()) if(!v->getVisibility()) return;
return;
if(CTX.render_mode == GMSH_SELECT) { if(CTX.render_mode == GMSH_SELECT) {
glPushName(0); glPushName(0);
...@@ -380,16 +404,16 @@ class initMeshGEdge { ...@@ -380,16 +404,16 @@ class initMeshGEdge {
public : public :
void operator () (GEdge *e) void operator () (GEdge *e)
{ {
if(!e->getVisibility()) if(!e->getVisibility()) return;
return;
if(!e->meshRep) if(!e->meshRep) e->meshRep = new MRepEdge(e);
e->meshRep = new MRepEdge(e);
MRep *m = e->meshRep;
m->resetArrays();
if(CTX.mesh.lines){ if(CTX.mesh.lines){
if(e->meshRep->va_lines) delete e->meshRep->va_lines; m->va_lines = new VertexArray(2, e->lines.size());
e->meshRep->va_lines = new VertexArray(2, e->lines.size()); addElementsInArrays(e, m->va_lines, e->lines);
addElementsInArrays(e, e->meshRep->va_lines, e->lines);
} }
} }
}; };
...@@ -398,8 +422,7 @@ class drawMeshGEdge { ...@@ -398,8 +422,7 @@ class drawMeshGEdge {
public: public:
void operator () (GEdge *e) void operator () (GEdge *e)
{ {
if(!e->getVisibility()) if(!e->getVisibility()) return;
return;
if(CTX.render_mode == GMSH_SELECT) { if(CTX.render_mode == GMSH_SELECT) {
glPushName(1); glPushName(1);
...@@ -469,60 +492,37 @@ class initMeshGFace { ...@@ -469,60 +492,37 @@ class initMeshGFace {
public : public :
void operator () (GFace *f) void operator () (GFace *f)
{ {
if(!f->getVisibility()) if(!f->getVisibility()) return;
return;
if(!f->meshRep)
f->meshRep = new MRepFace(f);
//bool useEdges = true; if(!f->meshRep) f->meshRep = new MRepFace(f);
bool useEdges = false;
if(CTX.mesh.explode != 1. || CTX.mesh.quality_sup || CTX.mesh.radius_sup ||
CTX.mesh.use_cut_plane)
useEdges = false;
for(unsigned int i = 0; i < f->triangles.size(); i++){
if(!f->triangles[i]->getVisibility()){ useEdges = false; break; }
}
for(unsigned int i = 0; i < f->quadrangles.size(); i++){
if(!f->quadrangles[i]->getVisibility()){ useEdges = false; break; }
}
if(useEdges) f->meshRep->generateEdges(); MRep *m = f->meshRep;
m->resetArrays();
// TODO: further optimizations are possible when useEdges is true: // TODO: further optimizations are possible when useEdges is true:
// //
// 1) store the unique vertices in the vertex array and // 1) store the unique vertices in the vertex array and use
// glDrawElements() instead of glDrawArrays(). // glDrawElements() instead of glDrawArrays().
// 2) we can use tc to stripe the triangles to create strips // 2) use tc to stripe the triangles and draw strips instead of individual
// triangles
bool useEdges = CTX.mesh.surfaces_edges ? true : false;
if(CTX.mesh.surfaces_faces /*this will change!*/ || CTX.mesh.explode != 1. ||
CTX.mesh.quality_sup || CTX.mesh.radius_sup || CTX.mesh.use_cut_plane ||
!allElementsVisible(f->triangles) || !allElementsVisible(f->quadrangles))
useEdges = false;
if(useEdges && CTX.mesh.surfaces_edges){ if(useEdges){
if(f->meshRep->va_lines) delete f->meshRep->va_lines; Msg(DEBUG, "Using edges to draw surface %d", f->tag());
f->meshRep->va_lines = new VertexArray(2, f->meshRep->edges.size()); m->generateEdgeRep();
std::set<MEdge>::const_iterator it = f->meshRep->edges.begin(); m->va_lines = new VertexArray(2, m->getNumEdgeRep());
for(; it != f->meshRep->edges.end(); ++it){ addEdgesInArrays(f, m->va_lines, m);
for(int i = 0; i < 2; i++){
MVertex *v = it->getVertex(i);
MElement *ele = it->getElement();
SVector3 n = ele->getFace(0).normal();
int part = ele->getPartition();
if(CTX.mesh.smooth_normals)
f->model()->normals->get(v->x(), v->y(), v->z(), n[0], n[1], n[2]);
f->meshRep->va_lines->add(v->x(), v->y(), v->z(), n[0], n[1], n[2],
CTX.color.mesh.carousel[abs(part % 20)]);
}
}
} }
else if(CTX.mesh.surfaces_edges || CTX.mesh.surfaces_faces){
m->va_triangles = new VertexArray(3, f->triangles.size());
addElementsInArrays(f, m->va_triangles, f->triangles);
if((!useEdges && CTX.mesh.surfaces_edges) || CTX.mesh.surfaces_faces){ m->va_quads = new VertexArray(4, f->quadrangles.size());
if(f->meshRep->va_triangles) delete f->meshRep->va_triangles; addElementsInArrays(f, m->va_quads, f->quadrangles);
f->meshRep->va_triangles = new VertexArray(3, f->triangles.size());
addElementsInArrays(f, f->meshRep->va_triangles, f->triangles);
if(f->meshRep->va_quads) delete f->meshRep->va_quads;
f->meshRep->va_quads = new VertexArray(4, f->quadrangles.size());
addElementsInArrays(f, f->meshRep->va_quads, f->quadrangles);
} }
} }
}; };
...@@ -531,8 +531,7 @@ class drawMeshGFace { ...@@ -531,8 +531,7 @@ class drawMeshGFace {
public: public:
void operator () (GFace *f) void operator () (GFace *f)
{ {
if(!f->getVisibility()) if(!f->getVisibility()) return;
return;
if(CTX.render_mode == GMSH_SELECT) { if(CTX.render_mode == GMSH_SELECT) {
glPushName(2); glPushName(2);
...@@ -601,10 +600,41 @@ class initMeshGRegion { ...@@ -601,10 +600,41 @@ class initMeshGRegion {
public : public :
void operator () (GRegion *r) void operator () (GRegion *r)
{ {
if(!r->meshRep) if(!r->getVisibility()) return;
r->meshRep = new MRepRegion(r);
if(CTX.mesh.volumes_edges) if(!r->meshRep) r->meshRep = new MRepRegion(r);
r->meshRep->generateEdges();
MRep *m = r->meshRep;
m->resetArrays();
bool useEdges = CTX.mesh.volumes_edges ? true : false;
if(CTX.mesh.volumes_faces /*this will change!*/ || CTX.mesh.explode != 1. ||
CTX.mesh.quality_sup || CTX.mesh.radius_sup || CTX.mesh.use_cut_plane ||
!allElementsVisible(r->tetrahedra) || !allElementsVisible(r->hexahedra) ||
!allElementsVisible(r->prisms) || !allElementsVisible(r->pyramids))
useEdges = false;
if(useEdges){
Msg(DEBUG, "Using edges to draw volume %d", r->tag());
m->generateEdgeRep();
m->va_lines = new VertexArray(2, m->getNumEdgeRep());
addEdgesInArrays(r, m->va_lines, m);
}
else if(CTX.mesh.volumes_edges || CTX.mesh.volumes_faces){
m->va_triangles = new VertexArray(3, 4 * r->tetrahedra.size() +
2 * r->prisms.size() +
4 * r->pyramids.size());
addElementsInArrays(r, m->va_triangles, r->tetrahedra);
addElementsInArrays(r, m->va_triangles, r->prisms);
addElementsInArrays(r, m->va_triangles, r->pyramids);
m->va_quads = new VertexArray(4, 6 * r->hexahedra.size() +
3 * r->prisms.size() +
r->pyramids.size());
addElementsInArrays(r, m->va_quads, r->hexahedra);
addElementsInArrays(r, m->va_quads, r->prisms);
addElementsInArrays(r, m->va_quads, r->pyramids);
}
} }
}; };
...@@ -612,24 +642,38 @@ class drawMeshGRegion { ...@@ -612,24 +642,38 @@ class drawMeshGRegion {
public : public :
void operator () (GRegion *r) void operator () (GRegion *r)
{ {
if(!r->getVisibility()) if(!r->getVisibility()) return;
return;
if(CTX.render_mode == GMSH_SELECT) { if(CTX.render_mode == GMSH_SELECT) {
glPushName(3); glPushName(3);
glPushName(r->tag()); glPushName(r->tag());
} }
MRep *m = r->meshRep;
if(CTX.mesh.volumes_edges){ if(CTX.mesh.volumes_edges){
glColor4ubv((GLubyte *) & CTX.color.mesh.hexahedron); if(m->va_lines && m->va_lines->n()){
glBegin(GL_LINES); drawArrays(m->va_lines, GL_LINES, false,
for(std::set<MEdge>::const_iterator it = r->meshRep->edges.begin(); CTX.mesh.color_carousel == 3, false,
it != r->meshRep->edges.end(); ++it){ getColor(r, CTX.mesh.volumes_faces, CTX.color.mesh.line));
MVertex *v0 = it->getVertex(0), *v1 = it->getVertex(1);
glVertex3d(v0->x(), v0->y(), v0->z());
glVertex3d(v1->x(), v1->y(), v1->z());
} }
glEnd(); else{
drawArrays(m->va_triangles, GL_TRIANGLES, CTX.mesh.light && CTX.mesh.light_lines,
CTX.mesh.color_carousel == 3, false,
getColor(r, CTX.mesh.volumes_faces, CTX.color.mesh.line), true);
drawArrays(m->va_quads, GL_QUADS, CTX.mesh.light && CTX.mesh.light_lines,
CTX.mesh.color_carousel == 3, false,
getColor(r, CTX.mesh.volumes_faces, CTX.color.mesh.line), true);
}
}
if(CTX.mesh.volumes_faces){
drawArrays(m->va_triangles, GL_TRIANGLES, CTX.mesh.light,
CTX.mesh.color_carousel == 3, CTX.polygon_offset,
getColor(r, 0, CTX.color.mesh.tetrahedron));
drawArrays(m->va_quads, GL_QUADS, CTX.mesh.light,
CTX.mesh.color_carousel == 3, CTX.polygon_offset,
getColor(r, 0, CTX.color.mesh.hexahedron));
} }
if(CTX.mesh.volumes_num) { if(CTX.mesh.volumes_num) {
......
# $Id: Makefile,v 1.119 2006-08-15 02:17:26 geuzaine Exp $ # $Id: Makefile,v 1.120 2006-08-16 17:14:57 geuzaine Exp $
# #
# Copyright (C) 1997-2006 C. Geuzaine, J.-F. Remacle # Copyright (C) 1997-2006 C. Geuzaine, J.-F. Remacle
# #
...@@ -354,10 +354,11 @@ Generator.o: Generator.cpp ../Common/Gmsh.h ../Common/Message.h \ ...@@ -354,10 +354,11 @@ Generator.o: Generator.cpp ../Common/Gmsh.h ../Common/Message.h \
../Geo/SPoint3.h ../Geo/GPoint.h ../Geo/GEdge.h ../Geo/GEntity.h \ ../Geo/SPoint3.h ../Geo/GPoint.h ../Geo/GEdge.h ../Geo/GEntity.h \
../Geo/GVertex.h ../Geo/SVector3.h ../Geo/SPoint3.h ../Geo/SPoint3.h \ ../Geo/GVertex.h ../Geo/SVector3.h ../Geo/SPoint3.h ../Geo/SPoint3.h \
../Geo/SPoint2.h ../Geo/MElement.h ../Geo/MVertex.h ../Geo/MEdge.h \ ../Geo/SPoint2.h ../Geo/MElement.h ../Geo/MVertex.h ../Geo/MEdge.h \
../Geo/MVertex.h ../Geo/MFace.h ../Geo/MVertex.h ../Geo/SVector3.h \ ../Geo/MVertex.h ../Geo/SVector3.h ../Geo/MFace.h ../Geo/MVertex.h \
../Geo/GFace.h ../Geo/GPoint.h ../Geo/GEntity.h ../Geo/MElement.h \ ../Geo/SVector3.h ../Geo/GFace.h ../Geo/GPoint.h ../Geo/GEntity.h \
../Geo/SPoint2.h ../Geo/SVector3.h ../Geo/Pair.h ../Geo/GRegion.h \ ../Geo/MElement.h ../Geo/SPoint2.h ../Geo/SVector3.h ../Geo/Pair.h \
../Geo/GEntity.h ../Geo/MElement.h ../Geo/SBoundingBox3d.h ../Geo/GRegion.h ../Geo/GEntity.h ../Geo/MElement.h \
../Geo/SBoundingBox3d.h
# 1 "/Users/geuzaine/.gmsh/Mesh//" # 1 "/Users/geuzaine/.gmsh/Mesh//"
DiscreteSurface.o: DiscreteSurface.cpp ../Common/Gmsh.h \ DiscreteSurface.o: DiscreteSurface.cpp ../Common/Gmsh.h \
../Common/Message.h ../DataStr/Malloc.h ../DataStr/List.h \ ../Common/Message.h ../DataStr/Malloc.h ../DataStr/List.h \
...@@ -408,12 +409,12 @@ meshGEdge.o: meshGEdge.cpp meshGEdge.h ../Geo/GEdge.h ../Geo/GEntity.h \ ...@@ -408,12 +409,12 @@ meshGEdge.o: meshGEdge.cpp meshGEdge.h ../Geo/GEdge.h ../Geo/GEntity.h \
../Geo/GEntity.h ../Geo/MVertex.h ../Geo/SPoint3.h ../Geo/GPoint.h \ ../Geo/GEntity.h ../Geo/MVertex.h ../Geo/SPoint3.h ../Geo/GPoint.h \
../Geo/SVector3.h ../Geo/SPoint3.h ../Geo/SPoint3.h ../Geo/SPoint2.h \ ../Geo/SVector3.h ../Geo/SPoint3.h ../Geo/SPoint3.h ../Geo/SPoint2.h \
../Geo/MElement.h ../Geo/MVertex.h ../Geo/MEdge.h ../Geo/MVertex.h \ ../Geo/MElement.h ../Geo/MVertex.h ../Geo/MEdge.h ../Geo/MVertex.h \
../Geo/MFace.h ../Geo/MVertex.h ../Geo/SVector3.h ../Numeric/Numeric.h \ ../Geo/SVector3.h ../Geo/MFace.h ../Geo/MVertex.h ../Geo/SVector3.h \
../Common/Gmsh.h ../Common/Message.h ../DataStr/Malloc.h \ ../Numeric/Numeric.h ../Common/Gmsh.h ../Common/Message.h \
../DataStr/List.h ../DataStr/Tree.h ../DataStr/avl.h ../DataStr/Tools.h \ ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
../DataStr/List.h ../DataStr/Tree.h Utils.h Vertex.h Mesh.h Element.h \ ../DataStr/avl.h ../DataStr/Tools.h ../DataStr/List.h ../DataStr/Tree.h \
Simplex.h Face.h Edge.h ../Geo/ExtrudeParams.h Metric.h Matrix.h \ Utils.h Vertex.h Mesh.h Element.h Simplex.h Face.h Edge.h \
../Common/Context.h ../Geo/ExtrudeParams.h Metric.h Matrix.h ../Common/Context.h
# 1 "/Users/geuzaine/.gmsh/Mesh//" # 1 "/Users/geuzaine/.gmsh/Mesh//"
meshGFace.o: meshGFace.cpp meshGFace.h ../Geo/SPoint2.h ../Geo/GVertex.h \ meshGFace.o: meshGFace.cpp meshGFace.h ../Geo/SPoint2.h ../Geo/GVertex.h \
../Geo/GEntity.h ../Geo/Range.h ../Geo/SPoint3.h \ ../Geo/GEntity.h ../Geo/Range.h ../Geo/SPoint3.h \
...@@ -424,10 +425,10 @@ meshGFace.o: meshGFace.cpp meshGFace.h ../Geo/SPoint2.h ../Geo/GVertex.h \ ...@@ -424,10 +425,10 @@ meshGFace.o: meshGFace.cpp meshGFace.h ../Geo/SPoint2.h ../Geo/GVertex.h \
Matrix.h ../Geo/GEdge.h ../Geo/GEntity.h ../Geo/GVertex.h \ Matrix.h ../Geo/GEdge.h ../Geo/GEntity.h ../Geo/GVertex.h \
../Geo/SVector3.h ../Geo/SPoint3.h ../Geo/SPoint3.h ../Geo/SPoint2.h \ ../Geo/SVector3.h ../Geo/SPoint3.h ../Geo/SPoint3.h ../Geo/SPoint2.h \
../Geo/MElement.h ../Geo/MVertex.h ../Geo/MEdge.h ../Geo/MVertex.h \ ../Geo/MElement.h ../Geo/MVertex.h ../Geo/MEdge.h ../Geo/MVertex.h \
../Geo/MFace.h ../Geo/MVertex.h ../Geo/SVector3.h ../Numeric/Numeric.h \ ../Geo/SVector3.h ../Geo/MFace.h ../Geo/MVertex.h ../Geo/SVector3.h \
../Geo/GFace.h ../Geo/GPoint.h ../Geo/GEntity.h ../Geo/MElement.h \ ../Numeric/Numeric.h ../Geo/GFace.h ../Geo/GPoint.h ../Geo/GEntity.h \
../Geo/SPoint2.h ../Geo/SVector3.h ../Geo/Pair.h ../Common/Context.h \ ../Geo/MElement.h ../Geo/SPoint2.h ../Geo/SVector3.h ../Geo/Pair.h \
Utils.h ../Common/Message.h BDS.h ../Common/Views.h \ ../Common/Context.h Utils.h ../Common/Message.h BDS.h ../Common/Views.h \
../Common/ColorTable.h ../Common/VertexArray.h \ ../Common/ColorTable.h ../Common/VertexArray.h \
../Common/SmoothNormals.h ../Common/GmshMatrix.h \ ../Common/SmoothNormals.h ../Common/GmshMatrix.h \
../Common/AdaptiveViews.h ../Common/GmshMatrix.h ../Common/AdaptiveViews.h ../Common/GmshMatrix.h
......
# $Id: Makefile,v 1.97 2006-08-15 02:17:27 geuzaine Exp $ # $Id: Makefile,v 1.98 2006-08-16 17:14:57 geuzaine Exp $
# #
# Copyright (C) 1997-2006 C. Geuzaine, J.-F. Remacle # Copyright (C) 1997-2006 C. Geuzaine, J.-F. Remacle
# #
...@@ -116,10 +116,10 @@ OpenFile.o: OpenFile.cpp ../Common/Gmsh.h ../Common/Message.h \ ...@@ -116,10 +116,10 @@ OpenFile.o: OpenFile.cpp ../Common/Gmsh.h ../Common/Message.h \
../Geo/SPoint3.h ../Geo/GPoint.h ../Geo/GEdge.h ../Geo/GEntity.h \ ../Geo/SPoint3.h ../Geo/GPoint.h ../Geo/GEdge.h ../Geo/GEntity.h \
../Geo/GVertex.h ../Geo/SVector3.h ../Geo/SPoint3.h ../Geo/SPoint3.h \ ../Geo/GVertex.h ../Geo/SVector3.h ../Geo/SPoint3.h ../Geo/SPoint3.h \
../Geo/SPoint2.h ../Geo/MElement.h ../Geo/MVertex.h ../Geo/MEdge.h \ ../Geo/SPoint2.h ../Geo/MElement.h ../Geo/MVertex.h ../Geo/MEdge.h \
../Geo/MVertex.h ../Geo/MFace.h ../Geo/MVertex.h ../Geo/SVector3.h \ ../Geo/MVertex.h ../Geo/SVector3.h ../Geo/MFace.h ../Geo/MVertex.h \
../Numeric/Numeric.h ../Geo/GFace.h ../Geo/GPoint.h ../Geo/GEntity.h \ ../Geo/SVector3.h ../Numeric/Numeric.h ../Geo/GFace.h ../Geo/GPoint.h \
../Geo/MElement.h ../Geo/SPoint2.h ../Geo/SVector3.h ../Geo/Pair.h \ ../Geo/GEntity.h ../Geo/MElement.h ../Geo/SPoint2.h ../Geo/SVector3.h \
../Geo/GRegion.h ../Geo/GEntity.h ../Geo/MElement.h \ ../Geo/Pair.h ../Geo/GRegion.h ../Geo/GEntity.h ../Geo/MElement.h \
../Geo/SBoundingBox3d.h ../Common/SmoothNormals.h ../Common/Context.h \ ../Geo/SBoundingBox3d.h ../Common/SmoothNormals.h ../Common/Context.h \
Parser.h OpenFile.h ../Common/CommandLine.h ../Common/Views.h \ Parser.h OpenFile.h ../Common/CommandLine.h ../Common/Views.h \
../Common/ColorTable.h ../Common/VertexArray.h \ ../Common/ColorTable.h ../Common/VertexArray.h \
...@@ -144,16 +144,16 @@ CreateFile.o: CreateFile.cpp ../Common/Gmsh.h ../Common/Message.h \ ...@@ -144,16 +144,16 @@ CreateFile.o: CreateFile.cpp ../Common/Gmsh.h ../Common/Message.h \
../Geo/GPoint.h ../Geo/GEdge.h ../Geo/GEntity.h ../Geo/GVertex.h \ ../Geo/GPoint.h ../Geo/GEdge.h ../Geo/GEntity.h ../Geo/GVertex.h \
../Geo/SVector3.h ../Geo/SPoint3.h ../Geo/SPoint3.h ../Geo/SPoint2.h \ ../Geo/SVector3.h ../Geo/SPoint3.h ../Geo/SPoint3.h ../Geo/SPoint2.h \
../Geo/MElement.h ../Geo/MVertex.h ../Geo/MEdge.h ../Geo/MVertex.h \ ../Geo/MElement.h ../Geo/MVertex.h ../Geo/MEdge.h ../Geo/MVertex.h \
../Geo/MFace.h ../Geo/MVertex.h ../Geo/SVector3.h ../Numeric/Numeric.h \ ../Geo/SVector3.h ../Geo/MFace.h ../Geo/MVertex.h ../Geo/SVector3.h \
../Geo/GFace.h ../Geo/GPoint.h ../Geo/GEntity.h ../Geo/MElement.h \ ../Numeric/Numeric.h ../Geo/GFace.h ../Geo/GPoint.h ../Geo/GEntity.h \
../Geo/SPoint2.h ../Geo/SVector3.h ../Geo/Pair.h ../Geo/GRegion.h \ ../Geo/MElement.h ../Geo/SPoint2.h ../Geo/SVector3.h ../Geo/Pair.h \
../Geo/GEntity.h ../Geo/MElement.h ../Geo/SBoundingBox3d.h \ ../Geo/GRegion.h ../Geo/GEntity.h ../Geo/MElement.h \
../Common/SmoothNormals.h ../Common/GmshUI.h ../Graphics/gl2ps.h \ ../Geo/SBoundingBox3d.h ../Common/SmoothNormals.h ../Common/GmshUI.h \
../Graphics/gl2gif.h ../Graphics/PixelBuffer.h ../Graphics/Draw.h \ ../Graphics/gl2ps.h ../Graphics/gl2gif.h ../Graphics/PixelBuffer.h \
../Common/Views.h ../Common/ColorTable.h ../Common/VertexArray.h \ ../Graphics/Draw.h ../Common/Views.h ../Common/ColorTable.h \
../Common/SmoothNormals.h ../Common/GmshMatrix.h \ ../Common/VertexArray.h ../Common/SmoothNormals.h \
../Common/AdaptiveViews.h ../Common/GmshMatrix.h ../Graphics/gl2jpeg.h \ ../Common/GmshMatrix.h ../Common/AdaptiveViews.h ../Common/GmshMatrix.h \
../Graphics/PixelBuffer.h ../Graphics/gl2png.h \ ../Graphics/gl2jpeg.h ../Graphics/PixelBuffer.h ../Graphics/gl2png.h \
../Graphics/PixelBuffer.h ../Graphics/gl2ppm.h \ ../Graphics/PixelBuffer.h ../Graphics/gl2ppm.h \
../Graphics/PixelBuffer.h ../Graphics/gl2yuv.h \ ../Graphics/PixelBuffer.h ../Graphics/gl2yuv.h \
../Graphics/PixelBuffer.h ../Graphics/PixelBuffer.h
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment