Public Types | Public Member Functions | Static Public Member Functions | Public Attributes

Fiber::Edges Class Reference
[Predefined Grid Types]

Identify the edges on a skeleton within a Grid. More...

#include <Edges.hpp>

List of all members.

Public Types

Public Member Functions

Static Public Member Functions

Public Attributes


Detailed Description

Identify the edges on a skeleton within a Grid.

The Grid must carry Vertices in Cartesian coordinates and a (1,1) Skeleton which is a set of Edges.

The positions field of the Edges is an array of EdgeCell elements that refer to the vertices of each Edge index.

Examples:

Sphere.cpp.


Member Function Documentation

bool Fiber::Edges::addVerticesPerEdgeArray ( const RefPtr< Grid > &  G,
const RefPtr< EdgesArray_t > &  Data 
) [static]

Add a new array of edges to the Edge information of a certain Grid object.

The same array can be retrieved from a Grid object via the getEdgesAsVerticesArray(const RefPtr<Grid>&G); call.

Note:
The edge array will be kept in memory as long as the associate Grid object lives.

References getVerticesPerEdge().

bool Fiber::Edges::addVerticesPerEdgeField ( const RefPtr< Grid > &  G,
const RefPtr< Field > &  theField 
) [static]

Add a new Field describing the Edge information to a certain Grid object.

The Field may or may not store data yet, and may be fragmented (not supported by all functions). This is the reverse function to getVerticesPerEdgeField(const RefPtr<Grid>&G);

References getVerticesPerEdge().

static SkeletonID Fiber::Edges::EdgeSkeletonID (  )  [inline, static]

Return the skeleton ID that refers to the Edges property of a cw-complex.

This will be the (1,1) skeleton, with lines being of dimensionality one and index depth one (referring to vertices).

Referenced by getEdgeSkeleton().

RefPtr< Representation > Fiber::Edges::getEdgesPerVertex ( const RefPtr< Grid > &  G,
bool  CreateIfNotFound 
) [static]

Find the information how vertices are related to edges, which can be varying, the element type of the Positions field is thus dependent on the type of mesh.

  1. For a set of lines, there will only be two edges adjacent to each vertex, the array type in the Positions will be EdgesArray_t .
  2. For a triangular surface there will be three edges adjacent to each vertex, the array type in the Positions TriArray_t .
  3. For an arbitrary polygonal mesh, there may be a varying number of edges for each vertex, the array type in the Positions will then be IndexSetArray_t , which is most inefficient on all operations and should be avoided.

This information is reverse to getEdgesAsVertices() and can be computed from the edges given as vertices.

References getEdgeSkeleton().

RefPtr< Representation > Fiber::Edges::getVerticesPerEdge ( const RefPtr< Grid > &  G,
bool  CreateIfNotFound 
) [static]

Find the information how edges are represented as Vertices, which is two vertices are given per Edge ID.

The number of edges will be the same as for all entries in the getEdgeSkeleton().

The Positions field here will tell, given an Edge ID, what are the vertex ID's here. The data type will be available as EdgeCell_t.

References getEdgeSkeleton().

Referenced by addVerticesPerEdgeArray(), addVerticesPerEdgeField(), Edges(), and getVerticesPerEdgeField().

RefPtr< Edges::EdgesArray_t > Fiber::Edges::getVerticesPerEdgeArray ( const RefPtr< Grid > &  G  )  [static]

Return the data array that holds the edges as vertices.

This function assumes an unfragmented field.

References getVerticesPerEdgeField().

Referenced by Edges().

static SkeletonID Fiber::Edges::ID (  )  [inline, static]

Return a skeleton ID that is characteristic for Grid objects that carry Edge information.

In this case it will be the (1,1) skeleton, being of dimensionality one and index depth one (referring to vertices).