GeoTessCPP: geotess::Edge Struct Reference

GeoTessCPP 2.1 Software to facilitate storage and retrieval of 3D information about the Earth.

- Main Page
- Namespaces
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

All Classes Namespaces Files Functions Variables Typedefs Friends Macros
Public Attributes
geotess::Edge Struct Reference

`#include <GeoTessGrid.h>`

List of all members.

## Public Attributes
int | cornerj
Edge * | next
double | normal [3]
int | tLeft
int | tRight
int | vj
int | vk

## Detailed Description

An Edge stores information about the connection between two adjacent vertices which separates two neighboring triangles. These Edge objects are used in two contexts: (1) every triangle in the grid has an array of three Edges, stored in variable edgeList. (2) at every level of the grid, each vertex has a circular linked list of Edges which define the Edges emanating from the vertex, in clockwise order. These Edges are stored in variable spokeLists. These two structures store references to the same set of Edge objects.

edgeList - For a triangle formed by vertices i, j and k, edge[i] is the edge opposite vertex i. Put another way, edge[i] is the edge that does not contain vertex i. edge[i]->vj and edge[i]->vk are the indices of the other two vertices of the triangle accessed, in clockwise order. edge->tLeft is the index of the triangle on the left side of the edge from vj to vk (the triangle that does not contain vertex i). edge->tRight is the index of the triangle on the right side of the edge from vj to vk (the triangle that contains vertex i). edge(i)->normal is the unit vector normal to edge from vj to vk, pointing toward vertex i (edge->vk cross edge->vj), edge->normal is NOT normalized to unit length.

Note that edgeList and spokeList contain pointers to the same instantiations of Edge objects. edgeList does not use the "Edge* next" field in the Edge objects but spokeList relies on those fields. Hence the 'next' pointers in Edge objects should not be manipulated via edgeList.

## Member Data Documentation

int geotess::Edge::cornerj

Edge* geotess::Edge::next

pointer to next edge in circular list of edges emanating from vertex vj. Used by spokeList but not by edgeList.

double geotess::Edge::normal[3]

vertex k cross vertex j, not normalized to unit length

int geotess::Edge::tLeft

lndex of triangle to the left of edge from vj to vk

int geotess::Edge::tRight

index of triangle to the right of edge from vj to vk

int geotess::Edge::vj

vertex index j

int geotess::Edge::vk

vertex index k

The documentation for this struct was generated from the following file:

- include/GeoTessGrid.h