shapes::Mesh Class Reference

Definition of a triangle mesh By convention the "center" of the shape is at the origin. For a mesh this implies that the AABB of the mesh is centered at the origin. Some methods may not work with arbitrary meshes whose AABB is not centered at the origin. More...

`#include <shapes.h>`

Inheritance diagram for shapes::Mesh:
[legend]

List of all members.

## Public Member Functions

virtual Shapeclone () const
Create a copy of this shape.
void computeTriangleNormals ()
The normals to each triangle can be computed from the vertices using cross products. This function performs this computation and allocates memory for normals if needed.
void computeVertexNormals ()
The normals to each vertex, averaged from the triangle normals. computeTriangleNormals() is automatically called if needed.
void mergeVertices (double threshold)
Merge vertices that are very close to each other, up to a threshold.
Mesh ()
Mesh (unsigned int v_count, unsigned int t_count)
virtual void print (std::ostream &out=std::cout) const
virtual ~Mesh ()

## Public Attributes

unsigned int triangle_count
The number of triangles formed with the vertices.
double * triangle_normals
The normal to each triangle; unit vector represented as (x,y,z); If missing from the mesh, these vectors can be computed using computeTriangleNormals()
unsigned int * triangles
The vertex indices for each triangle triangle k has vertices at index (3k, 3k+1, 3k+2) = (v1, v2, v3)
unsigned int vertex_count
The number of available vertices.
double * vertex_normals
The normal to each vertex; unit vector represented as (x,y,z); If missing from the mesh, these vectors can be computed using computeVertexNormals()
double * vertices
The position for each vertex vertex k has values at index (3k, 3k+1, 3k+2) = (x,y,z)

## Static Public Attributes

static const std::string STRING_NAME = "mesh"
The type of the shape, as a string.

## Detailed Description

Definition of a triangle mesh By convention the "center" of the shape is at the origin. For a mesh this implies that the AABB of the mesh is centered at the origin. Some methods may not work with arbitrary meshes whose AABB is not centered at the origin.

Definition at line 181 of file shapes.h.

## Constructor & Destructor Documentation

 shapes::Mesh::Mesh ( )

Definition at line 111 of file shapes.cpp.

 shapes::Mesh::Mesh ( unsigned int v_count, unsigned int t_count )

Definition at line 122 of file shapes.cpp.

 shapes::Mesh::~Mesh ( ) ` [virtual]`

Definition at line 133 of file shapes.cpp.

## Member Function Documentation

 shapes::Shape * shapes::Mesh::clone ( ) const` [virtual]`

Create a copy of this shape.

Implements shapes::Shape.

Definition at line 187 of file shapes.cpp.

 void shapes::Mesh::computeTriangleNormals ( )

The normals to each triangle can be computed from the vertices using cross products. This function performs this computation and allocates memory for normals if needed.

Definition at line 381 of file shapes.cpp.

 void shapes::Mesh::computeVertexNormals ( )

The normals to each vertex, averaged from the triangle normals. computeTriangleNormals() is automatically called if needed.

Definition at line 404 of file shapes.cpp.

 void shapes::Mesh::mergeVertices ( double threshold )

Merge vertices that are very close to each other, up to a threshold.

Definition at line 445 of file shapes.cpp.

 void shapes::Mesh::print ( std::ostream & out = `std::cout` ) const` [virtual]`

Reimplemented from shapes::Shape.

Definition at line 341 of file shapes.cpp.

 void shapes::Mesh::scaleAndPadd ( double scale, double padd ) ` [virtual]`

Implements shapes::Shape.

Definition at line 270 of file shapes.cpp.

## Member Data Documentation

 const std::string shapes::Mesh::STRING_NAME = "mesh"` [static]`

The type of the shape, as a string.

Definition at line 190 of file shapes.h.

 unsigned int shapes::Mesh::triangle_count

The number of triangles formed with the vertices.

Definition at line 213 of file shapes.h.

 double* shapes::Mesh::triangle_normals

The normal to each triangle; unit vector represented as (x,y,z); If missing from the mesh, these vectors can be computed using computeTriangleNormals()

Definition at line 221 of file shapes.h.

 unsigned int* shapes::Mesh::triangles

The vertex indices for each triangle triangle k has vertices at index (3k, 3k+1, 3k+2) = (v1, v2, v3)

Definition at line 217 of file shapes.h.

 unsigned int shapes::Mesh::vertex_count

The number of available vertices.

Definition at line 206 of file shapes.h.

 double* shapes::Mesh::vertex_normals

The normal to each vertex; unit vector represented as (x,y,z); If missing from the mesh, these vectors can be computed using computeVertexNormals()

Definition at line 225 of file shapes.h.

 double* shapes::Mesh::vertices

The position for each vertex vertex k has values at index (3k, 3k+1, 3k+2) = (x,y,z)

Definition at line 210 of file shapes.h.

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

geometric_shapes
Author(s): Ioan Sucan
autogenerated on Mon Oct 6 2014 00:11:20