Obi  6.4
Unified particle physics for Unity
 All Classes Namespaces Functions Variables Enumerations Enumerator Properties Events Pages
Obi.HalfEdgeMesh Class Reference

Classes

struct  Face
 
struct  HalfEdge
 
struct  Vertex
 

Public Member Functions

 HalfEdgeMesh (HalfEdgeMesh halfEdge)
 
void Generate ()
 
void SwapVertices (int index1, int index2)
 
int GetHalfEdgeStartVertex (HalfEdge edge)
 
float GetFaceArea (Face face)
 
IEnumerable< VertexGetNeighbourVerticesEnumerator (Vertex vertex)
 
IEnumerable< HalfEdgeGetNeighbourEdgesEnumerator (Vertex vertex)
 
IEnumerable< FaceGetNeighbourFacesEnumerator (Vertex vertex)
 
List< int > GetEdgeList ()
 
bool IsSplit (int halfEdgeIndex)
 

Public Attributes

Mesh inputMesh
 
Vector3 scale = Vector3.one
 
bool containsData = false
 
List< Vertexvertices = new List<Vertex>()
 
List< HalfEdgehalfEdges = new List<HalfEdge>()
 
List< HalfEdgeborderEdges = new List<HalfEdge>()
 
List< Facefaces = new List<Face>()
 
List< Vector3 > restNormals = new List<Vector3>()
 
List< Quaternion > restOrientations = new List<Quaternion>()
 
List< int > rawToWelded = new List<int>()
 

Properties

bool ContainsData [get]
 
bool closed [get]
 
float area [get]
 
float volume [get]
 

Member Function Documentation

List<int> Obi.HalfEdgeMesh.GetEdgeList ( )

Calculates and returns a list of all edges (note: not half-edges, but regular edges) in the mesh. Each edge is represented as the index of the first half-edge in the list that is part of the edge. This is O(2N) in both time and space, with N = number of edges.

bool Obi.HalfEdgeMesh.IsSplit ( int  halfEdgeIndex)

Returns true if the edge has been split in a vertex split operation. (as a result of tearing)


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