MeshKit  1.0
Face Class Reference

#include <Mesh.hpp>

Inheritance diagram for Face:

List of all members.

Public Member Functions

 Face ()
 Face (const Vertex *v0, const Vertex *v1, const Vertex *v2)
 Face (const Vertex *v0, const Vertex *v1, const Vertex *v2, const Vertex *v3)
Vertex * getHashNode () const
int getType () const
int concaveAt () const
bool isSimple () const
bool isSameAs (const Face *rhs) const
bool hasNode (const PNode &vertex) const
int getPosOf (const Vertex *vertex) const
void reverse ()
int getOrientation (const Vertex *ev0, const Vertex *ev1) const
int replaceNode (Vertex *oldvertex, Vertex *newvertex)
int getSize (int etype) const
int setNodes (const NodeSequence &v)
const NodeSequence & getNodes () const
const PNode & getNodeAt (size_t id) const
void getAvgPos (Point3D &p) const
bool hasBoundaryNode () const
bool has_all_bound_nodes () const
bool has_boundary_edge () const
int getRelations02 (FaceSequence &seq)
int getRelations12 (FaceSequence &seq)
int getRelations (NodeSequence &seq)
bool isConvex () const
double getAngleAt (const Vertex *v) const
int get_interior_angles (vector< double > &angles) const
double getAspectRatio ()
double getArea ()
int triangulate (vector< Face > &f) const
bool isValid () const
int refine_quad14 (NodeSequence &newnodes, FaceSequence &newfaces)
int refine_quad15 (NodeSequence &newnodes, FaceSequence &newfaces)
void start_from_concave_corner ()
Face * getClone () const

Static Public Member Functions

static PFace newObject ()
static PFace create_quad (const PFace t1, const PFace t2, int replace=0)
static int quad_tessalate (const NodeSequence &orgNodes, NodeSequence &rotatedNodes)
static int hexagon_2_quads (const NodeSequence &hexnodes, FaceSequence &quads, int start_from)
static int is_3_sided_convex_loop_quad_meshable (const int *s, int *sdiv)
static int is_5_sided_convex_loop_quad_meshable (const int *s, int *sdiv)
static int is_cyclic_quad (const Point3D &p0, const Point3D &p1, const Point3D &p2, const Point3D &p3)
static Vertex * centroid (const Vertex *v0, const Vertex *v1, const Vertex *v2)
static Vertex * centroid (const Vertex *v0, const Vertex *v1, const Vertex *v2, const Vertex *v3, const Vertex *v4)
static double distortion (const Vertex *v0, const Vertex *v1, const Vertex *v2)
static double distortion (const Vertex *v0, const Vertex *v1, const Vertex *v2, const Vertex *v3, const Vertex *v4)
static double tri_area (const Point3D &p0, const Point3D &p1, const Point3D &p2)
static Vec3D normal (const Vertex *v0, const Vertex *v1, const Vertex *v2)
static Vec3D normal (const Point3D &p0, const Point3D &p1, const Point3D &v2)
static void bilinear_weights (double xi, double eta, vector< double > &weight)
static double linear_interpolation (const vector< double > &x, const vector< double > &w)
static double quad_area (const Point3D &p0, const Point3D &p1, const Point3D &p2, const Point3D &p3)
static bool is_convex_quad (const Point3D &p0, const Point3D &p1, const Point3D &p2, const Point3D &p3)
static PNode opposite_node (const PFace quad, const PNode n1)
static PNode opposite_node (const PFace tri, PNode n1, PNode n2)
static void opposite_nodes (const PFace quad, PNode n1, PNode n2, PNode &n3, PNode &n4)
static int check_on_boundary (const PFace tri)

Static Public Attributes

static const int POLYGON = 0
static const int TRIANGLE = 3
static const int QUADRILATERAL = 4

Private Member Functions

int refine_convex_quad15 (NodeSequence &newnodes, FaceSequence &newfaces)
int refine_concave_quad15 (NodeSequence &newnodes, FaceSequence &newfaces)

Private Attributes

NodeSequence connect

Detailed Description

Definition at line 586 of file Mesh.hpp.


Constructor & Destructor Documentation

Face ( ) [inline]

Definition at line 653 of file Mesh.hpp.

Face ( const Vertex *  v0,
const Vertex *  v1,
const Vertex *  v2 
) [inline]

Definition at line 659 of file Mesh.hpp.

Face ( const Vertex *  v0,
const Vertex *  v1,
const Vertex *  v2,
const Vertex *  v3 
) [inline]

Definition at line 667 of file Mesh.hpp.


Member Function Documentation

void bilinear_weights ( double  xi,
double  eta,
vector< double > &  weight 
) [static]

Definition at line 634 of file Mesh.cpp.

Vertex * centroid ( const Vertex *  v0,
const Vertex *  v1,
const Vertex *  v2 
) [static]

Definition at line 942 of file Mesh.cpp.

Vertex * centroid ( const Vertex *  v0,
const Vertex *  v1,
const Vertex *  v2,
const Vertex *  v3,
const Vertex *  v4 
) [static]

Definition at line 977 of file Mesh.cpp.

static int check_on_boundary ( const PFace  tri) [static]
int concaveAt ( ) const

Definition at line 668 of file Mesh.cpp.

PFace create_quad ( const PFace  t1,
const PFace  t2,
int  replace = 0 
) [static]

Definition at line 273 of file Mesh.cpp.

static double distortion ( const Vertex *  v0,
const Vertex *  v1,
const Vertex *  v2 
) [static]
static double distortion ( const Vertex *  v0,
const Vertex *  v1,
const Vertex *  v2,
const Vertex *  v3,
const Vertex *  v4 
) [static]
int get_interior_angles ( vector< double > &  angles) const

Definition at line 129 of file Mesh.cpp.

double getAngleAt ( const Vertex *  v) const [inline]

Definition at line 909 of file Mesh.hpp.

double getArea ( ) [inline]

Definition at line 800 of file Mesh.hpp.

double getAspectRatio ( )

Definition at line 527 of file Mesh.cpp.

void getAvgPos ( Point3D &  p) const

Definition at line 356 of file Mesh.cpp.

Face* getClone ( ) const [inline]

Definition at line 825 of file Mesh.hpp.

Vertex* getHashNode ( ) const [inline]

Definition at line 676 of file Mesh.hpp.

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

Definition at line 761 of file Mesh.hpp.

const NodeSequence& getNodes ( ) const [inline]

Definition at line 757 of file Mesh.hpp.

int getOrientation ( const Vertex *  ev0,
const Vertex *  ev1 
) const [inline]

Definition at line 715 of file Mesh.hpp.

int getPosOf ( const Vertex *  vertex) const [inline]

Definition at line 703 of file Mesh.hpp.

int getRelations ( NodeSequence &  seq)

Definition at line 496 of file Mesh.cpp.

int getRelations02 ( FaceSequence &  seq)

Definition at line 548 of file Mesh.cpp.

int getRelations12 ( FaceSequence &  seq)

Definition at line 572 of file Mesh.cpp.

int getSize ( int  etype) const [inline]

Definition at line 739 of file Mesh.hpp.

int getType ( ) const [inline]

Definition at line 680 of file Mesh.hpp.

bool has_all_bound_nodes ( ) const

Definition at line 4548 of file Mesh.cpp.

bool has_boundary_edge ( ) const

Definition at line 617 of file Mesh.cpp.

bool hasBoundaryNode ( ) const [inline]

Definition at line 767 of file Mesh.hpp.

bool hasNode ( const PNode &  vertex) const [inline]

Definition at line 698 of file Mesh.hpp.

int hexagon_2_quads ( const NodeSequence &  hexnodes,
FaceSequence &  quads,
int  start_from 
) [static]

Definition at line 314 of file Mesh.cpp.

int is_3_sided_convex_loop_quad_meshable ( const int *  s,
int *  sdiv 
) [static]

Definition at line 1023 of file Mesh.cpp.

int is_5_sided_convex_loop_quad_meshable ( const int *  s,
int *  sdiv 
) [static]

Definition at line 1142 of file Mesh.cpp.

bool is_convex_quad ( const Point3D &  p0,
const Point3D &  p1,
const Point3D &  p2,
const Point3D &  p3 
) [static]

Definition at line 476 of file Mesh.cpp.

int is_cyclic_quad ( const Point3D &  p0,
const Point3D &  p1,
const Point3D &  p2,
const Point3D &  p3 
) [static]

Definition at line 209 of file Mesh.cpp.

bool isConvex ( ) const [inline]

Definition at line 781 of file Mesh.hpp.

bool isSameAs ( const Face *  rhs) const [inline]

Definition at line 689 of file Mesh.hpp.

bool isSimple ( ) const

Definition at line 723 of file Mesh.cpp.

bool isValid ( ) const

Definition at line 597 of file Mesh.cpp.

double linear_interpolation ( const vector< double > &  x,
const vector< double > &  w 
) [static]

Definition at line 654 of file Mesh.cpp.

PFace newObject ( ) [inline, static]

Definition at line 901 of file Mesh.hpp.

Vec3D normal ( const Vertex *  v0,
const Vertex *  v1,
const Vertex *  v2 
) [static]

Definition at line 398 of file Mesh.cpp.

Vec3D normal ( const Point3D &  p0,
const Point3D &  p1,
const Point3D &  v2 
) [static]

Definition at line 380 of file Mesh.cpp.

PNode opposite_node ( const PFace  quad,
const PNode  n1 
) [static]

Definition at line 196 of file Mesh.cpp.

PNode opposite_node ( const PFace  tri,
PNode  n1,
PNode  n2 
) [static]

Definition at line 166 of file Mesh.cpp.

void opposite_nodes ( const PFace  quad,
PNode  n1,
PNode  n2,
PNode &  n3,
PNode &  n4 
) [static]

Definition at line 234 of file Mesh.cpp.

double quad_area ( const Point3D &  p0,
const Point3D &  p1,
const Point3D &  p2,
const Point3D &  p3 
) [static]

Definition at line 440 of file Mesh.cpp.

int quad_tessalate ( const NodeSequence &  orgNodes,
NodeSequence &  rotatedNodes 
) [static]

Definition at line 72 of file Mesh.cpp.

int refine_concave_quad15 ( NodeSequence &  newnodes,
FaceSequence &  newfaces 
) [private]

Definition at line 774 of file Mesh.cpp.

int refine_convex_quad15 ( NodeSequence &  newnodes,
FaceSequence &  newfaces 
) [private]

Definition at line 852 of file Mesh.cpp.

int refine_quad14 ( NodeSequence &  newnodes,
FaceSequence &  newfaces 
)

Definition at line 3651 of file Mesh.cpp.

int refine_quad15 ( NodeSequence &  newnodes,
FaceSequence &  newfaces 
)

Definition at line 763 of file Mesh.cpp.

int replaceNode ( Vertex *  oldvertex,
Vertex *  newvertex 
) [inline]

Definition at line 727 of file Mesh.hpp.

void reverse ( ) [inline]

Definition at line 711 of file Mesh.hpp.

int setNodes ( const NodeSequence &  v) [inline]

Definition at line 744 of file Mesh.hpp.

void start_from_concave_corner ( ) [inline]

Definition at line 1737 of file Mesh.hpp.

double tri_area ( const Point3D &  p0,
const Point3D &  p1,
const Point3D &  p2 
) [static]

Definition at line 408 of file Mesh.cpp.

int triangulate ( vector< Face > &  f) const

Definition at line 107 of file Mesh.cpp.


Member Data Documentation

NodeSequence connect [private]

Definition at line 832 of file Mesh.hpp.

const int POLYGON = 0 [static]

Definition at line 588 of file Mesh.hpp.

const int QUADRILATERAL = 4 [static]

Definition at line 590 of file Mesh.hpp.

const int TRIANGLE = 3 [static]

Definition at line 589 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