SS class

SS class. More...


Files

file  ves.h
 Class V,E,S: the fundamental simplex geometry objects.

Classes

struct  sSS
 Class SS: Definition (8+40=48 bytes OR 8+80=88 bytes). More...

Typedefs

typedef struct sSS SS
 Declaration of the SS class as the SS structure.

Functions

void SS_init (SS *thee, int dim, int id)
 Initialize a simplex.
void SS_reinit (SS *thee)
 Re-Initialize a simplex.
void SS_setReality (SS *thee, int type)
 Set the reality.
void SS_setDim (SS *thee, int dim)
 Set the dimension.
void SS_setClass (SS *thee, int type)
 Set the class.
void SS_setType (SS *thee, int type)
 Set the type.
void SS_setChart (SS *thee, int chart)
 Set the chart.
void SS_setId (SS *thee, int id)
 Set the ID.
unsigned int SS_reality (SS *thee)
 Return the reality.
unsigned int SS_dim (SS *thee)
 Return the dimension.
unsigned int SS_dimVV (SS *thee)
 Return the number of vertices in a simplex.
unsigned int SS_dimEE (SS *thee)
 Return the number of edges in a simplex.
unsigned int SS_dimFF (SS *thee)
 Return the number of faces in a simplex.
unsigned int SS_class (SS *thee)
 Return the class.
unsigned int SS_type (SS *thee)
 Return the type.
unsigned int SS_chart (SS *thee)
 Return the chart.
unsigned int SS_id (SS *thee)
 Return the ID.
void SS_setFaceType (SS *thee, int f, int type)
 Set the face type.
void SS_setRefinementEdge (SS *thee, int i)
 Set the refinement edge.
void SS_setMarkedEdge1 (SS *thee, int i)
 Set the first marked edge.
void SS_setMarkedEdge2 (SS *thee, int i)
 Set the second marked edge.
void SS_setMarkedEdge3 (SS *thee, int i)
 Set the third marked edge.
void SS_setDegen (SS *thee, int i)
 Set degenerate marking flag.
void SS_setRefinementCount (SS *thee, int i)
 Set refinement count.
void SS_setRefineKey (SS *thee, int which, int key)
 Set refinement key.
void SS_setVertex (SS *thee, int i, VV *vx)
 Set a given vertex.
void SS_setLink (SS *thee, VV *vx, SS *sm)
 Set the next simplex pointer for a given simplex ring.
unsigned int SS_faceType (SS *thee, int f)
 Set the type of a given face.
unsigned int SS_refinementEdge (SS *thee)
 Return the refinement edge.
unsigned int SS_markedEdge1 (SS *thee)
 Return the first marked edge.
unsigned int SS_markedEdge2 (SS *thee)
 Return the second marked edge.
unsigned int SS_markedEdge3 (SS *thee)
 Return the third marked edge.
unsigned int SS_degen (SS *thee)
 Return the degenerate edge marker.
unsigned int SS_refinementCount (SS *thee)
 Return the refinement count.
unsigned int SS_refineKey (SS *thee, int which)
 Return the refinement key.
VVSS_vertex (SS *thee, int i)
 Return a given vertex.
SSSS_link (SS *thee, VV *vx)
 Return the next simplex in a given simplex ring.
int SS_faceVertexNumber (SS *thee, int f, int i)
 Return local vertex number i for face f.
int SS_vptr2localVnum (SS *thee, VV *vx)
 Return the local vertex number associated with a given vertex.
SSSS_ctor (int dim, int myid)
 The simplex constructor.
void SS_dtor (SS **thee)
 The simplex destructor.
void SS_initRing (SS *thee)
 Initialize the simplex rings.
void SS_meltRing (SS *thee)
 Destroy the simplex rings.
void SS_buildRing (SS *thee)
 Build the simplex rings.
SSSS_nabor (SS *thee, int i)
 Return the simplex sharing face i (opposite vertex i).
EESS_edge (SS *thee, int i, int j)
 Return the edge connecting vertices i and j.
int SS_sharedFaceLocNum (SS *thee, SS *sm)
 Return local face number of face shared between two simplices.
int SS_localEdgeType (SS *thee, VV *v0, VV *v1)
 Return the proper edge type (interior/boundary) of an edge connecting the two given vertices.
void SS_reverse (SS *thee)
 Reverse the orientation of a simplex by swapping vertices.

Detailed Description

SS class.


Typedef Documentation

typedef struct sSS SS

Declaration of the SS class as the SS structure.

Author:
Michael Holst


Function Documentation

void SS_buildRing ( SS thee  ) 

Build the simplex rings.

Author:
Michael Holst
Note:
Class S: Inlineable methods (ves.c)
Returns:
None
Parameters:
thee Pointer to a simplex

unsigned int SS_chart ( SS thee  ) 

Return the chart.

Author:
Michael Holst
Note:
Class S: Inlineable methods (ves.c)
Returns:
the chart
Parameters:
thee Pointer to a simplex

unsigned int SS_class ( SS thee  ) 

Return the class.

Author:
Michael Holst
Note:
Class S: Inlineable methods (ves.c)
Returns:
the class
Parameters:
thee Pointer to a simplex

SS* SS_ctor ( int  dim,
int  myid 
)

The simplex constructor.

Author:
Michael Holst
Note:
Class S: Inlineable methods (ves.c)
Returns:
Pointer to a new allocated simplex object
Parameters:
dim the dimension bits
myid the ID bits

unsigned int SS_degen ( SS thee  ) 

Return the degenerate edge marker.

Author:
Michael Holst
Note:
Class S: Inlineable methods (ves.c)
Returns:
the degenerate edge marker.
Parameters:
thee Pointer to a simplex

unsigned int SS_dim ( SS thee  ) 

Return the dimension.

Author:
Michael Holst
Note:
Class S: Inlineable methods (ves.c)
Returns:
the dimension
Parameters:
thee Pointer to a simplex

unsigned int SS_dimEE ( SS thee  ) 

Return the number of edges in a simplex.

Author:
Michael Holst
Note:
Class S: Inlineable methods (ves.c)
Returns:
the number of edges in a simplex.
Parameters:
thee Pointer to a simplex

unsigned int SS_dimFF ( SS thee  ) 

Return the number of faces in a simplex.

Author:
Michael Holst
Note:
Class S: Inlineable methods (ves.c)
Returns:
the number of faces in a simplex.
Parameters:
thee Pointer to a simplex

unsigned int SS_dimVV ( SS thee  ) 

Return the number of vertices in a simplex.

Author:
Michael Holst
Note:
Class S: Inlineable methods (ves.c)
Returns:
the number of vertices in a simplex.
Parameters:
thee Pointer to a simplex

void SS_dtor ( SS **  thee  ) 

The simplex destructor.

Author:
Michael Holst
Note:
Class S: Inlineable methods (ves.c)
Returns:
None
Parameters:
thee Pointer to a simplex

EE* SS_edge ( SS thee,
int  i,
int  j 
)

Return the edge connecting vertices i and j.

Author:
Michael Holst
Note:
Class S: Inlineable methods (ves.c)
Returns:
the edge connecting vertices i and j.
Parameters:
thee Pointer to a simplex
i index for a vertex
j index for a vertex

unsigned int SS_faceType ( SS thee,
int  f 
)

Set the type of a given face.

Author:
Michael Holst
Note:
Class S: Inlineable methods (ves.c)
Returns:
None
Parameters:
thee Pointer to a simplex
f index of a face

int SS_faceVertexNumber ( SS thee,
int  f,
int  i 
)

Return local vertex number i for face f.

Author:
Michael Holst
Note:
Class S: Inlineable methods (ves.c)
Returns:
local vertex number i for face f.
Parameters:
thee Pointer to a simplex
f index of the face
i local vertex number

unsigned int SS_id ( SS thee  ) 

Return the ID.

Author:
Michael Holst
Note:
Class S: Inlineable methods (ves.c)
Returns:
the ID
Parameters:
thee Pointer to a simplex

void SS_init ( SS thee,
int  dim,
int  id 
)

Initialize a simplex.

Author:
Michael Holst
Note:
Class S: Inlineable methods (ves.c)
Returns:
None
Parameters:
thee Pointer to a simplex
dim the dimension bits
id the ID bits

void SS_initRing ( SS thee  ) 

Initialize the simplex rings.

Author:
Michael Holst
Note:
Class S: Inlineable methods (ves.c)
Returns:
None
Parameters:
thee Pointer to a simplex

SS* SS_link ( SS thee,
VV vx 
)

Return the next simplex in a given simplex ring.

Author:
Michael Holst
Note:
Class S: Inlineable methods (ves.c)
Returns:
the next simplex in a given simplex ring.
Parameters:
thee Pointer to a simplex
vx Pointer to a vertex

int SS_localEdgeType ( SS thee,
VV v0,
VV v1 
)

Return the proper edge type (interior/boundary) of an edge connecting the two given vertices.

Author:
Michael Holst
Note:
Class S: Inlineable methods (ves.c)
ASSUME that the edge DOES NOT exist or does not have a correct and consistent type, and calculate its type from the face types.
The type we calculate is based only on local info; in 3D it may NOT be the correct edge type for the edge as far as the global mesh is concerned. However, the local information about all simplices using the edge can be combined to determine the correct global type.
We must not be tempted to look for an existing edge and then grab its type; the edge may have just been created (with interior type by default), and in fact WE are being called as part of an attempt to calculate its global type...
Returns:
the proper edge type (interior/boundary) of an edge connecting the two given vertices
Parameters:
thee Pointer to a simplex
v0 Pointer to a vertex
v1 Pointer to a vertex

unsigned int SS_markedEdge1 ( SS thee  ) 

Return the first marked edge.

Author:
Michael Holst
Note:
Class S: Inlineable methods (ves.c)
Returns:
the first marked edge.
Parameters:
thee Pointer to a simplex

unsigned int SS_markedEdge2 ( SS thee  ) 

Return the second marked edge.

Author:
Michael Holst
Note:
Class S: Inlineable methods (ves.c)
Returns:
the second marked edge.
Parameters:
thee Pointer to a simplex

unsigned int SS_markedEdge3 ( SS thee  ) 

Return the third marked edge.

Author:
Michael Holst
Note:
Class S: Inlineable methods (ves.c)
Returns:
the third marked edge.
Parameters:
thee Pointer to a simplex

void SS_meltRing ( SS thee  ) 

Destroy the simplex rings.

Author:
Michael Holst
Note:
Class S: Inlineable methods (ves.c)
Returns:
None
Parameters:
thee Pointer to a simplex

SS* SS_nabor ( SS thee,
int  i 
)

Return the simplex sharing face i (opposite vertex i).

Author:
Michael Holst
Note:
Class S: Inlineable methods (ves.c)
Returns:
the simplex sharing face i (opposite vertex i).
Parameters:
thee Pointer to a simplex
i index for the face

unsigned int SS_reality ( SS thee  ) 

Return the reality.

Author:
Michael Holst
Note:
Class S: Inlineable methods (ves.c)
Returns:
the reality
Parameters:
thee Pointer to a simplex

unsigned int SS_refineKey ( SS thee,
int  which 
)

Return the refinement key.

Author:
Michael Holst
Note:
Class S: Inlineable methods (ves.c)
Returns:
the refinement key.
Parameters:
thee Pointer to a simplex
which index for refinement nor not

unsigned int SS_refinementCount ( SS thee  ) 

Return the refinement count.

Author:
Michael Holst
Note:
Class S: Inlineable methods (ves.c)
Returns:
the refinement count.
Parameters:
thee Pointer to a simplex

unsigned int SS_refinementEdge ( SS thee  ) 

Return the refinement edge.

Author:
Michael Holst
Note:
Class S: Inlineable methods (ves.c)
Returns:
the refinement edge.
Parameters:
thee Pointer to a simplex

void SS_reinit ( SS thee  ) 

Re-Initialize a simplex.

Author:
Michael Holst
Note:
Class S: Inlineable methods (ves.c)
Returns:
None
Parameters:
thee Pointer to a simplex

void SS_reverse ( SS thee  ) 

Reverse the orientation of a simplex by swapping vertices.

Author:
Michael Holst
Note:
Class S: Inlineable methods (ves.c)
Returns:
None
Parameters:
thee Pointer to a vertex

void SS_setChart ( SS thee,
int  chart 
)

Set the chart.

Author:
Michael Holst
Note:
Class S: Inlineable methods (ves.c)
Returns:
None
Parameters:
thee Pointer to a vertex
chart index for a chart in a simplex

void SS_setClass ( SS thee,
int  type 
)

Set the class.

Author:
Michael Holst
Note:
Class S: Inlineable methods (ves.c)
Returns:
None
Parameters:
thee Pointer to a simplex
type the class bits

void SS_setDegen ( SS thee,
int  i 
)

Set degenerate marking flag.

Author:
Michael Holst
Note:
Class S: Inlineable methods (ves.c)
Returns:
None
Parameters:
thee Pointer to a simplex
i degenerate marking flag

void SS_setDim ( SS thee,
int  dim 
)

Set the dimension.

Author:
Michael Holst
Note:
Class S: Inlineable methods (ves.c)
Returns:
None
Parameters:
thee Pointer to a simplex
dim the dimension bits

void SS_setFaceType ( SS thee,
int  f,
int  type 
)

Set the face type.

Author:
Michael Holst
Note:
Class S: Inlineable methods (ves.c)
Returns:
None
Parameters:
thee Pointer to a simplex
f index for a face
type number of the face type

void SS_setId ( SS thee,
int  id 
)

Set the ID.

Author:
Michael Holst
Note:
Class S: Inlineable methods (ves.c)
Returns:
None
Parameters:
thee Pointer to a simplex
id index for the simplex ID

void SS_setLink ( SS thee,
VV vx,
SS sm 
)

Set the next simplex pointer for a given simplex ring.

Author:
Michael Holst
Note:
Class S: Inlineable methods (ves.c)
Returns:
None
Parameters:
thee Pointer to a simplex
vx Pointer to a vertex
sm Pointer to a simplex

void SS_setMarkedEdge1 ( SS thee,
int  i 
)

Set the first marked edge.

Author:
Michael Holst
Note:
Class S: Inlineable methods (ves.c)
Returns:
None
Parameters:
thee Pointer to a simplex
i the first marked edge

void SS_setMarkedEdge2 ( SS thee,
int  i 
)

Set the second marked edge.

Author:
Michael Holst
Note:
Class S: Inlineable methods (ves.c)
Returns:
None
Parameters:
thee Pointer to a simplex
i the second marked edge

void SS_setMarkedEdge3 ( SS thee,
int  i 
)

Set the third marked edge.

Author:
Michael Holst
Note:
Class S: Inlineable methods (ves.c)
Returns:
None
Parameters:
thee Pointer to a simplex
i the third marked edge.

void SS_setReality ( SS thee,
int  type 
)

Set the reality.

Author:
Michael Holst
Note:
Class S: Inlineable methods (ves.c)
Returns:
None
Parameters:
thee Pointer to a simplex
type the reality ID

void SS_setRefineKey ( SS thee,
int  which,
int  key 
)

Set refinement key.

Author:
Michael Holst
Note:
Class S: Inlineable methods (ves.c)
Returns:
None
Parameters:
thee Pointer to a simplex
which index for the refinement
key the value for the refinement

void SS_setRefinementCount ( SS thee,
int  i 
)

Set refinement count.

Author:
Michael Holst
Note:
Class S: Inlineable methods (ves.c)
Returns:
None
Parameters:
thee Pointer to a simplex
i index for refinement count

void SS_setRefinementEdge ( SS thee,
int  i 
)

Set the refinement edge.

Author:
Michael Holst
Note:
Class S: Inlineable methods (ves.c)
Returns:
None
Parameters:
thee Pointer to a simplex
i the refinement edge

void SS_setType ( SS thee,
int  type 
)

Set the type.

Author:
Michael Holst
Note:
Class S: Inlineable methods (ves.c)
Returns:
None
Parameters:
thee Pointer to a simplex
type the type value of a simplex

void SS_setVertex ( SS thee,
int  i,
VV vx 
)

Set a given vertex.

Author:
Michael Holst
Note:
Class S: Inlineable methods (ves.c)
Returns:
None
Parameters:
thee Pointer to a simplex
i index of a vertex
vx Pointer to a vertex

int SS_sharedFaceLocNum ( SS thee,
SS sm 
)

Return local face number of face shared between two simplices.

Author:
Michael Holst
Note:
Class S: Inlineable methods (ves.c)
Returns:
local face number of face shared between two simplices.
Parameters:
thee Pointer to a simplex
sm Pointer to a simplex

unsigned int SS_type ( SS thee  ) 

Return the type.

Author:
Michael Holst
Note:
Class S: Inlineable methods (ves.c)
Returns:
the type
Parameters:
thee Pointer to a simplex

VV* SS_vertex ( SS thee,
int  i 
)

Return a given vertex.

Author:
Michael Holst
Note:
Class S: Inlineable methods (ves.c)
Returns:
a given vertex.
Parameters:
thee Pointer to a simplex
i index for a vertex in a simplex

int SS_vptr2localVnum ( SS thee,
VV vx 
)

Return the local vertex number associated with a given vertex.

Author:
Michael Holst
Note:
Class S: Inlineable methods (ves.c)
Returns:
the local vertex number associated with a given vertex.
Parameters:
thee Pointer to a simplex
vx Pointer to a vertex


Generated on Mon Aug 9 11:13:45 2010 for MC by  doxygen 1.5.6