User Documentation
RAVL, Recognition And Vision Library
DEVELOP HOME PAGE CLASS LIST CONTENTS
Ravl - 3D - Half Edge Mesh - HEMeshC
 

  PUBLIC
HEMeshC::HEMeshC(void)
HEMeshC::HEMeshC(bool)
HEMeshC::HEMeshC(const TriMeshC &)
HEMeshC::InsertVertex(const Vector3dC &,const Vector3dC &)
HEMeshC::InsertVertex(const VertexC &)
HEMeshC::InsertVertexOnEdge(HEMeshEdgeC)
HEMeshC::InsertFace(const SArray1dC &,HashC,HEMeshEdgeC> &)
HEMeshC::NoFaces(void) const
HEMeshC::NoVertices(void) const
HEMeshC::TriMesh(void) const
HEMeshC::CheckMesh(bool) const
HEMeshC::Faces(void)
HEMeshC::Vertices(void)
HEMeshC::FirstFace(void)
HEMeshC::FirstVirtex(void)
RCHandleC::operator =(const RCHandleC &)
RCHandleC::DeepCopy(UIntT) const
RCHandleC::operator ==(const RCHandleC &) const
RCHandleC::operator !=(const RCHandleC &) const
RCHandleC::Hash(void) const
RCHandleC::IsValid(void) const
RCHandleC::Invalidate(void)
RCHandleC::IsHandleType(const DT &) const
RCHandleC::CheckHandleType(const DT &) const
RCHandleC::References(void) const
RCHandleC::operator <<(ostream &,const RCHandleC &)
RCHandleC::operator >>(istream &,RCHandleC &)

   HEMeshC   
 
Half Edge Mesh
 
include "Ravl/3D/HEMesh.hh"
Created:24/4/2002 
User Level:Normal
Library:Ravl3D
In Scope:Ravl3DN

Comments:
Reference counted handle to mesh.

Parent Classes: Methods:
HEMeshC()
Default constructor.

HEMeshC(bool)
Constructor.

HEMeshC(const TriMeshC & mesh)
Construct from a TriMesh

HEMeshVertexC InsertVertex(const Vector3dC & position,const Vector3dC & norm)
Insert a new vertex into the mesh.

HEMeshVertexC InsertVertex(const VertexC & vert)
Insert a new vertex into the mesh.

HEMeshVertexC InsertVertexOnEdge(HEMeshEdgeC edge)
Insert a vertex on an edge.

HEMeshFaceC InsertFace(const SArray1dC<HEMeshVertexC> & vertices,HashC<Tuple2C<HEMeshVertexC,HEMeshVertexC>,HEMeshEdgeC> & edgeTab)
Insert face defined by vertices.

UIntT NoFaces() const
Get the number of faces.

UIntT NoVertices() const
Get the number of vertices.

TriMeshC TriMesh() const
Build a TriMesh from this mesh.

bool CheckMesh(bool canBeOpen = false) const
Check mesh structure is consistant.
Returns false if an inconsistancy is found.

HEMeshFaceIterC Faces()
List of faces in the mesh.
Use to create HEMeshFaceIterC.

HEMeshVertexIterC Vertices()
List of vertices.
Use to create HEMeshVertexIterC.

HEMeshFaceC FirstFace()
Get the first face in the mesh.
Note: The mesh must NOT be empty.

HEMeshVertexC FirstVirtex()
Get the first vertex in the mesh.
Note: The mesh must NOT be empty.

#include "Ravl/RefCounter.hh"
const RCHandleC<HEMeshBodyC> & operator =(const RCHandleC<HEMeshBodyC> & oth)
Assign handle.

RCHandleC<HEMeshBodyC> DeepCopy(UIntT levels = ((UIntT))) const
Do a deep copy of the object.

bool operator ==(const RCHandleC<HEMeshBodyC> & oth) const
Are handles to the same object ?

bool operator !=(const RCHandleC<HEMeshBodyC> & oth) const
Are handles to different objects ?

UIntT Hash() const
Default hash function.
This hashes on the address of the body.

bool IsValid() const
Test if this is a valid handle.

void Invalidate()
Invalidate this handle.
Unattaches the body from the handle.

bool IsHandleType(const DT &) const
Is handle of given type ?

void CheckHandleType(const DT & dummy) const
Check handle type. Throw an expception if not.

UIntT References() const
Find the number of references to the body of this object.

ostream & operator <<(ostream & strm,const RCHandleC<HEMeshBodyC> & obj)

istream & operator >>(istream & strm,RCHandleC<HEMeshBodyC> & obj)


Maintainer:Charles Galambos, Created: 24/4/2002, Documentation by CxxDoc: Tue Aug 13 09:59:02 2002