MeshKit  1.0
Mesh Class Reference

#include <Mesh.hpp>

List of all members.

Public Member Functions

 Mesh ()
 ~Mesh ()
void objects_from_pool (size_t n, NodeSequence &objects)
void objects_from_pool (size_t n, FaceSequence &objects)
void setName (const string &s)
string getName () const
void reserve (size_t nSize, int entity)
bool hasDual () const
void setDual (bool d)
int remove_nodes_attribute (const string &s)
int remove_edges_attribute (const string &s)
int remove_faces_attribute (const string &s)
int isHomogeneous () const
int hasConvexCells ()
size_t count_convex_faces ()
size_t count_concave_faces ()
size_t count_inverted_faces ()
size_t count_irregular_nodes (int regdef)
Meshdeep_copy ()
Meshshallow_copy ()
BoundingBox getBoundingBox () const
int getNumComponents (bool stop_at_interface=0)
MeshgetComponent (int id)
int readFromFile (const string &f)
bool getAdjTable (int i, int j) const
Meshload (const string &fname, Mesh *m)
MeshgetPartMesh (int p)
int getNumPartitions (int e)
int getEulerCharacteristic ()
Vertexnearest_neighbour (const Vertex *v, double &d)
size_t getSize (int d)
size_t getCapacity (int d)
void setBoundaryKnown (bool v)
bool isBoundaryKnown () const
bool isSimple ()
bool is_consistently_oriented ()
void make_consistently_oriented ()
int getNumConnectedComponents ()
size_t getBoundarySize (int d)
void addNode (PNode v)
void addNodes (const NodeSequence &vnodes)
void addNodes (NodeList &nlist)
int remove (PNode v)
int deactivate (PNode v)
int reactivate (PNode v)
const PNodegetNodeAt (size_t id) const
int getNodes (NodeSequence &seq) const
int getNodes (NodeList &l) const
int getFaces (FaceList &l) const
int get_irregular_nodes (NodeSequence &seq, int regular_count, int where=0)
const PEdgegetEdgeAt (size_t id) const
int get_sharp_edges (EdgeSequence &e, double angle)
void addFeatureEdge (PEdge e)
bool hasFeatureEdge (const Edge &query_edge) const
int addFace (PFace f)
int remove (PFace f)
int deactivate (PFace f)
int reactivate (PFace f)
void addFaces (FaceSequence &vfaces)
void addFaces (FaceList &flist)
const PFacegetFaceAt (size_t id) const
bool contains (const Vertex *v) const
bool contains (const Face *f) const
void prune ()
bool isPruned () const
void enumerate (int etype)
int search_boundary ()
int build_relations (int src, int dst, bool rebuild=0)
void normalize ()
void clear_relations (int src, int dst)
int getEdges (EdgeSequence &seq, int directed=0)
EdgeSequence getDualEdges () const
EdgeSequence getMatchingDuals () const
FaceSequence filter (int facetype) const
int saveAs (const string &s)
void emptyAll ()
void deleteNodes ()
void deleteEdges ()
void deleteFaces ()
void deleteAll ()
void reverse ()
vector< int > get_topological_statistics (int entity=0, bool sorted=1)
int get_depth_first_ordered_nodes (NodeSequence &seq, Vertex *v=NULL, MeshFilter *mf=NULL)
int get_depth_first_ordered_faces (FaceSequence &seq, Face *f=NULL)
int get_breadth_first_ordered_nodes (NodeSequence &seq, Vertex *f=NULL, MeshFilter *mf=NULL)
int get_breadth_first_ordered_faces (FaceSequence &seq, Face *f=NULL)
int setWavefront (int ofwhat)
size_t setNodeWavefront (int layerid)
size_t setFaceWavefront (int layerid)
int verify_front_ordering (int ofwhat)
NodeSet get_nearest_neighbors (const Point3D &p, int n=1)
NodeSet get_topological_neighbors (const NodeSequence &n, int k=1)
int remove_unreferenced_nodes ()
void get_quad_strips (Face *rootface, FaceSequence &strip1, FaceSequence &strip2)
void set_strip_markers ()
int get_bound_nodes (NodeSequence &seq)
int get_bound_faces (FaceSequence &seq, int bound_what=1)
vector< double > getAspectRatio (bool sorted=1)
double getSurfaceArea ()
int check_convexity ()
int get_quality_statistics (const string &s)
int getCoordsArray (vector< double > &a, vector< size_t > &l2g)
int getNodesArray (vector< size_t > &a, vector< int > &topo)
int setCoordsArray (const vector< double > &v, const vector< size_t > &l2g)
int hasDuplicates (int what)
void getMinMaxVertexDegrees (int &mind, int &maxd)
void getMinMaxFaceArea (double &mind, double &maxd)
void setNormals ()
int refine_tri_edge (Vertex *v0, Vertex *v1, int n, NodeSequence &newnodes, FaceSequence &newfaces)
int collapse_tri_edge (Vertex *v0, Vertex *v1)
int refine_quads14 ()
int refine_quads15 ()
int refine_quad14 (Face *f)
int refine_quad15 (Face *f)
void collect_garbage ()
int search_quad_patches ()
void build_edges ()

Static Public Member Functions

static NodeSequence generate_nodes (size_t n)
static FaceSequence generate_faces (size_t n)
static int getRelations112 (const PNode v0, const PNode v1, FaceSequence &seq)
static int getRelations102 (const PNode v0, const PNode v1, FaceSequence &seq)
static int make_chain (vector< Edge > &edges)
static int is_closed_chain (const vector< Edge > &edges)
static int is_closeable_chain (const vector< Edge > &edges)
static int rotate_chain (vector< Edge > &edges, Vertex *start_vertex)
static NodeSequence boundary_chain_nodes (Vertex *v0, Vertex *v1)
static NodeSequence chain_nodes (const vector< Edge > &e)

Private Member Functions

size_t count_edges ()
double getLength (int dir) const
int build_relations00 (bool rebuild=0)
int build_relations01 (bool rebuild=0)
int build_relations02 (bool rebuild=0)
int build_relations12 (bool rebuild=0)
int setNodeWavefront ()
int setFaceWavefront ()

Private Attributes

volatile char adjTable [4][4]
string meshname
double normalize_factor
bool hasdual
bool boundary_known
NodeSequence nodes
EdgeSequence edges
FaceSequence faces
NodeSequence feature_nodes
EdgeSequence feature_edges
FaceSequence feature_faces
NodeList garbageNodes
EdgeList garbageEdges
FaceList garbageFaces

Detailed Description

Definition at line 975 of file Mesh.hpp.


Constructor & Destructor Documentation

Mesh ( ) [inline]

Definition at line 989 of file Mesh.hpp.

~Mesh ( ) [inline]

Definition at line 998 of file Mesh.hpp.


Member Function Documentation

int addFace ( PFace  f) [inline]

Definition at line 1817 of file Mesh.hpp.

void addFaces ( FaceSequence vfaces) [inline]

Definition at line 1206 of file Mesh.hpp.

void addFaces ( FaceList flist) [inline]

Definition at line 1212 of file Mesh.hpp.

void addFeatureEdge ( PEdge  e) [inline]

Definition at line 1175 of file Mesh.hpp.

void addNode ( PNode  v) [inline]

Definition at line 1108 of file Mesh.hpp.

void addNodes ( const NodeSequence vnodes) [inline]

Definition at line 1115 of file Mesh.hpp.

void addNodes ( NodeList nlist) [inline]

Definition at line 1121 of file Mesh.hpp.

Jaal::NodeSequence boundary_chain_nodes ( Vertex v0,
Vertex v1 
) [static]

Definition at line 1596 of file Mesh.cpp.

void build_edges ( )

Definition at line 2006 of file Mesh.cpp.

int build_relations ( int  src,
int  dst,
bool  rebuild = 0 
) [inline]

Definition at line 1253 of file Mesh.hpp.

int build_relations00 ( bool  rebuild = 0) [private]

Definition at line 2346 of file Mesh.cpp.

int build_relations01 ( bool  rebuild = 0) [private]

Definition at line 2291 of file Mesh.cpp.

int build_relations02 ( bool  rebuild = 0) [private]

Definition at line 2316 of file Mesh.cpp.

int build_relations12 ( bool  rebuild = 0) [private]

Definition at line 2376 of file Mesh.cpp.

NodeSequence chain_nodes ( const vector< Edge > &  e) [static]

Definition at line 3548 of file Mesh.cpp.

int check_convexity ( )

Definition at line 1647 of file Mesh.cpp.

void clear_relations ( int  src,
int  dst 
)

Definition at line 2407 of file Mesh.cpp.

int collapse_tri_edge ( Vertex v0,
Vertex v1 
)

Definition at line 1455 of file Mesh.cpp.

void collect_garbage ( )

Definition at line 2137 of file Mesh.cpp.

bool contains ( const Vertex v) const [inline]

Definition at line 1227 of file Mesh.hpp.

bool contains ( const Face f) const [inline]

Definition at line 1232 of file Mesh.hpp.

size_t count_concave_faces ( )

Definition at line 3955 of file Mesh.cpp.

size_t count_convex_faces ( )
size_t count_edges ( ) [private]

Definition at line 1981 of file Mesh.cpp.

Definition at line 3969 of file Mesh.cpp.

size_t count_irregular_nodes ( int  regdef)

Definition at line 2540 of file Mesh.cpp.

int deactivate ( PNode  v) [inline]

Definition at line 1898 of file Mesh.hpp.

int deactivate ( PFace  f) [inline]

Definition at line 1921 of file Mesh.hpp.

Mesh * deep_copy ( )

Definition at line 1749 of file Mesh.cpp.

void deleteAll ( )

Definition at line 3635 of file Mesh.cpp.

void deleteEdges ( )

Definition at line 3616 of file Mesh.cpp.

void deleteFaces ( )

Definition at line 3625 of file Mesh.cpp.

void deleteNodes ( )

Definition at line 3607 of file Mesh.cpp.

void emptyAll ( )

Definition at line 3598 of file Mesh.cpp.

void enumerate ( int  etype)

Definition at line 2163 of file Mesh.cpp.

Jaal::FaceSequence filter ( int  facetype) const

Definition at line 2479 of file Mesh.cpp.

FaceSequence generate_faces ( size_t  n) [inline, static]

Definition at line 1760 of file Mesh.hpp.

NodeSequence generate_nodes ( size_t  n) [inline, static]

Definition at line 1750 of file Mesh.hpp.

int get_bound_faces ( FaceSequence seq,
int  bound_what = 1 
)

Definition at line 3022 of file Mesh.cpp.

int get_bound_nodes ( NodeSequence seq)

Definition at line 3071 of file Mesh.cpp.

int get_breadth_first_ordered_faces ( FaceSequence seq,
Face f = NULL 
)
int get_breadth_first_ordered_nodes ( NodeSequence seq,
Vertex f = NULL,
MeshFilter mf = NULL 
)

Definition at line 4675 of file Mesh.cpp.

int get_depth_first_ordered_faces ( FaceSequence seq,
Face f = NULL 
)
int get_depth_first_ordered_nodes ( NodeSequence seq,
Vertex v = NULL,
MeshFilter mf = NULL 
)

Definition at line 4734 of file Mesh.cpp.

int get_irregular_nodes ( NodeSequence seq,
int  regular_count,
int  where = 0 
)

Definition at line 3086 of file Mesh.cpp.

NodeSet get_nearest_neighbors ( const Point3D p,
int  n = 1 
)
void get_quad_strips ( Face rootface,
FaceSequence strip1,
FaceSequence strip2 
)
int get_quality_statistics ( const string &  s)
int get_sharp_edges ( EdgeSequence e,
double  angle 
)

Definition at line 4773 of file Mesh.cpp.

NodeSet get_topological_neighbors ( const NodeSequence n,
int  k = 1 
)
vector< int > get_topological_statistics ( int  entity = 0,
bool  sorted = 1 
)

Definition at line 3161 of file Mesh.cpp.

bool getAdjTable ( int  i,
int  j 
) const [inline]

Definition at line 1050 of file Mesh.hpp.

vector< double > getAspectRatio ( bool  sorted = 1)

Definition at line 3572 of file Mesh.cpp.

size_t getBoundarySize ( int  d)

Definition at line 2193 of file Mesh.cpp.

Definition at line 4030 of file Mesh.cpp.

size_t getCapacity ( int  d) [inline]

Definition at line 1068 of file Mesh.hpp.

Mesh * getComponent ( int  id)

Definition at line 2782 of file Mesh.cpp.

int getCoordsArray ( vector< double > &  a,
vector< size_t > &  l2g 
)

Definition at line 1685 of file Mesh.cpp.

const PEdge& getEdgeAt ( size_t  id) const [inline]

Definition at line 1166 of file Mesh.hpp.

int getEdges ( EdgeSequence seq,
int  directed = 0 
) [inline]

Definition at line 1267 of file Mesh.hpp.

Definition at line 2218 of file Mesh.cpp.

const PFace& getFaceAt ( size_t  id) const [inline]

Definition at line 1222 of file Mesh.hpp.

int getFaces ( FaceList l) const

Definition at line 2771 of file Mesh.cpp.

double getLength ( int  dir) const [private]

Definition at line 4074 of file Mesh.cpp.

void getMinMaxFaceArea ( double &  mind,
double &  maxd 
)

Definition at line 1668 of file Mesh.cpp.

void getMinMaxVertexDegrees ( int &  mind,
int &  maxd 
)
string getName ( ) const [inline]

Definition at line 1010 of file Mesh.hpp.

const PNode& getNodeAt ( size_t  id) const [inline]

Definition at line 1135 of file Mesh.hpp.

int getNodes ( NodeSequence seq) const [inline]

Definition at line 1142 of file Mesh.hpp.

int getNodes ( NodeList l) const

Definition at line 2760 of file Mesh.cpp.

int getNodesArray ( vector< size_t > &  a,
vector< int > &  topo 
)

Definition at line 1711 of file Mesh.cpp.

int getNumComponents ( bool  stop_at_interface = 0)

Definition at line 2681 of file Mesh.cpp.

int getNumPartitions ( int  e)

Definition at line 1564 of file Mesh.cpp.

Mesh * getPartMesh ( int  p)

Definition at line 1533 of file Mesh.cpp.

int getRelations102 ( const PNode  v0,
const PNode  v1,
FaceSequence seq 
) [static]

Definition at line 1908 of file Mesh.cpp.

int getRelations112 ( const PNode  v0,
const PNode  v1,
FaceSequence seq 
) [static]

Definition at line 1945 of file Mesh.cpp.

size_t getSize ( int  d) [inline]

Definition at line 1061 of file Mesh.hpp.

double getSurfaceArea ( )

Definition at line 3524 of file Mesh.cpp.

int hasConvexCells ( )
bool hasDual ( ) const [inline]

Definition at line 1020 of file Mesh.hpp.

int hasDuplicates ( int  what)

Definition at line 3925 of file Mesh.cpp.

bool hasFeatureEdge ( const Edge query_edge) const [inline]

Definition at line 1190 of file Mesh.hpp.

int is_closeable_chain ( const vector< Edge > &  edges) [static]

Definition at line 1841 of file Mesh.cpp.

int is_closed_chain ( const vector< Edge > &  edges) [static]

Definition at line 1864 of file Mesh.cpp.

Definition at line 2567 of file Mesh.cpp.

bool isBoundaryKnown ( ) const [inline]

Definition at line 1083 of file Mesh.hpp.

int isHomogeneous ( ) const

Definition at line 2242 of file Mesh.cpp.

bool isPruned ( ) const

Definition at line 2123 of file Mesh.cpp.

bool isSimple ( )

Definition at line 2506 of file Mesh.cpp.

Mesh* load ( const string &  fname,
Mesh m 
)
int make_chain ( vector< Edge > &  edges) [static]

Definition at line 1808 of file Mesh.cpp.

Definition at line 2617 of file Mesh.cpp.

Vertex * nearest_neighbour ( const Vertex v,
double &  d 
)

Definition at line 2265 of file Mesh.cpp.

void normalize ( )

Definition at line 3982 of file Mesh.cpp.

void objects_from_pool ( size_t  n,
NodeSequence objects 
)
void objects_from_pool ( size_t  n,
FaceSequence objects 
)
void prune ( )

Definition at line 2036 of file Mesh.cpp.

int reactivate ( PNode  v) [inline]

Definition at line 1946 of file Mesh.hpp.

int reactivate ( PFace  f) [inline]

Definition at line 1969 of file Mesh.hpp.

int readFromFile ( const string &  f)

Definition at line 167 of file mesh_io.cpp.

int refine_quad14 ( Face f)
int refine_quad15 ( Face f)

Definition at line 1511 of file Mesh.cpp.

int refine_quads14 ( )

Definition at line 3693 of file Mesh.cpp.

int refine_quads15 ( )

Definition at line 3761 of file Mesh.cpp.

int refine_tri_edge ( Vertex v0,
Vertex v1,
int  n,
NodeSequence newnodes,
FaceSequence newfaces 
)

Definition at line 1360 of file Mesh.cpp.

int remove ( PNode  v) [inline]

Definition at line 1770 of file Mesh.hpp.

int remove ( PFace  f) [inline]

Definition at line 1861 of file Mesh.hpp.

int remove_edges_attribute ( const string &  s)
int remove_faces_attribute ( const string &  s)
int remove_nodes_attribute ( const string &  s)

Definition at line 3490 of file Mesh.cpp.

void reserve ( size_t  nSize,
int  entity 
) [inline]

Definition at line 1014 of file Mesh.hpp.

void reverse ( ) [inline]

Definition at line 1297 of file Mesh.hpp.

int rotate_chain ( vector< Edge > &  edges,
Vertex start_vertex 
) [static]

Definition at line 1880 of file Mesh.cpp.

int saveAs ( const string &  s)

Definition at line 2257 of file Mesh.cpp.

int search_boundary ( )

Definition at line 2431 of file Mesh.cpp.

Definition at line 393 of file QuadPatches.cpp.

void setBoundaryKnown ( bool  v) [inline]

Definition at line 1077 of file Mesh.hpp.

int setCoordsArray ( const vector< double > &  v,
const vector< size_t > &  l2g 
)

Definition at line 1785 of file Mesh.cpp.

void setDual ( bool  d) [inline]

Definition at line 1024 of file Mesh.hpp.

size_t setFaceWavefront ( int  layerid)

Definition at line 3318 of file Mesh.cpp.

int setFaceWavefront ( ) [private]

Definition at line 3369 of file Mesh.cpp.

void setName ( const string &  s) [inline]

Definition at line 1006 of file Mesh.hpp.

size_t setNodeWavefront ( int  layerid)

Definition at line 3203 of file Mesh.cpp.

int setNodeWavefront ( ) [private]

Definition at line 3249 of file Mesh.cpp.

void setNormals ( )

Definition at line 4559 of file Mesh.cpp.

int setWavefront ( int  ofwhat)

Definition at line 3433 of file Mesh.cpp.

int verify_front_ordering ( int  ofwhat)

Definition at line 3447 of file Mesh.cpp.


Member Data Documentation

volatile char adjTable[4][4] [private]

Definition at line 1413 of file Mesh.hpp.

bool boundary_known [private]

Definition at line 1421 of file Mesh.hpp.

EdgeSequence edges [private]

Definition at line 1425 of file Mesh.hpp.

FaceSequence faces [private]

Definition at line 1426 of file Mesh.hpp.

Definition at line 1433 of file Mesh.hpp.

Definition at line 1434 of file Mesh.hpp.

Definition at line 1432 of file Mesh.hpp.

Definition at line 1438 of file Mesh.hpp.

Definition at line 1439 of file Mesh.hpp.

Definition at line 1437 of file Mesh.hpp.

bool hasdual [private]

Definition at line 1420 of file Mesh.hpp.

string meshname [private]

Definition at line 1415 of file Mesh.hpp.

NodeSequence nodes [private]

Definition at line 1424 of file Mesh.hpp.

double normalize_factor [private]

Definition at line 1417 of file Mesh.hpp.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines