luxrays::ExtTriangleMesh Class Reference

#include <exttrianglemesh.h>

Inheritance diagram for luxrays::ExtTriangleMesh:
luxrays::ExtMesh luxrays::Mesh

List of all members.

Public Member Functions

 ExtTriangleMesh (ExtTriangleMesh *mesh)
 ExtTriangleMesh (const unsigned int meshVertCount, const unsigned int meshTriCount, Point *meshVertices, Triangle *meshTris, Normal *meshNormals=NULL, Spectrum *meshColors=NULL, UV *meshUV=NULL)
 ~ExtTriangleMesh ()
void Delete ()
MeshType GetType () const
unsigned int GetTotalVertexCount () const
unsigned int GetTotalTriangleCount () const
BBox GetBBox () const
bool HasNormals () const
bool HasColors () const
bool HasUVs () const
Point GetVertex (const unsigned int vertIndex) const
float GetTriangleArea (const unsigned int triIndex) const
Normal GetNormal (const unsigned int triIndex, const unsigned int vertIndex) const
Normal GetNormal (const unsigned int vertIndex) const
Spectrum GetColor (const unsigned int vertIndex) const
UV GetUV (const unsigned int vertIndex) const
Normal InterpolateTriNormal (const unsigned int index, const float b1, const float b2) const
Spectrum InterpolateTriColor (const unsigned int index, const float b0, const float b1, const float b2) const
Spectrum InterpolateTriColor (const unsigned int index, const float b1, const float b2) const
UV InterpolateTriUV (const unsigned int index, const float b1, const float b2) const
void Sample (const unsigned int index, const float u0, const float u1, Point *p, float *b0, float *b1, float *b2) const
PointGetVertices () const
TriangleGetTriangles () const

Static Public Member Functions

static ExtTriangleMeshLoadExtTriangleMesh (Context *ctx, const std::string &fileName, const bool usePlyNormals=false)

Private Attributes

unsigned int vertCount
unsigned int triCount
Pointvertices
Triangletris
Normalnormals
Spectrumcolors
UVuvs

Detailed Description

Definition at line 58 of file exttrianglemesh.h.


Constructor & Destructor Documentation

luxrays::ExtTriangleMesh::ExtTriangleMesh ( ExtTriangleMesh mesh  )  [inline]

Definition at line 60 of file exttrianglemesh.h.

References colors, normals, triCount, tris, uvs, vertCount, and vertices.

Referenced by LoadExtTriangleMesh().

luxrays::ExtTriangleMesh::ExtTriangleMesh ( const unsigned int  meshVertCount,
const unsigned int  meshTriCount,
Point meshVertices,
Triangle meshTris,
Normal meshNormals = NULL,
Spectrum meshColors = NULL,
UV meshUV = NULL 
) [inline]

Definition at line 72 of file exttrianglemesh.h.

References colors, normals, triCount, tris, uvs, vertCount, and vertices.

luxrays::ExtTriangleMesh::~ExtTriangleMesh (  )  [inline]

Definition at line 88 of file exttrianglemesh.h.


Member Function Documentation

void luxrays::ExtTriangleMesh::Delete (  )  [inline, virtual]

Implements luxrays::ExtMesh.

Definition at line 89 of file exttrianglemesh.h.

References colors, normals, tris, uvs, and vertices.

Referenced by luxrays::sdl::InfiniteLightPortal::~InfiniteLightPortal().

BBox ExtTriangleMesh::GetBBox (  )  const [virtual]

Implements luxrays::Mesh.

Definition at line 264 of file exttrianglemesh.cpp.

References luxrays::Union(), vertCount, and vertices.

Referenced by luxrays::ExtInstanceTriangleMesh::GetBBox().

Spectrum luxrays::ExtTriangleMesh::GetColor ( const unsigned int  vertIndex  )  const [inline, virtual]

Implements luxrays::ExtMesh.

Definition at line 110 of file exttrianglemesh.h.

References colors.

Referenced by luxrays::ExtInstanceTriangleMesh::GetColor().

Normal luxrays::ExtTriangleMesh::GetNormal ( const unsigned int  vertIndex  )  const [inline, virtual]

Implements luxrays::ExtMesh.

Definition at line 109 of file exttrianglemesh.h.

References normals.

Normal luxrays::ExtTriangleMesh::GetNormal ( const unsigned int  triIndex,
const unsigned int  vertIndex 
) const [inline, virtual]
unsigned int luxrays::ExtTriangleMesh::GetTotalTriangleCount (  )  const [inline, virtual]
unsigned int luxrays::ExtTriangleMesh::GetTotalVertexCount (  )  const [inline, virtual]
float luxrays::ExtTriangleMesh::GetTriangleArea ( const unsigned int  triIndex  )  const [inline, virtual]

Implements luxrays::Mesh.

Definition at line 107 of file exttrianglemesh.h.

References luxrays::Triangle::Area(), tris, and vertices.

Triangle* luxrays::ExtTriangleMesh::GetTriangles (  )  const [inline, virtual]
MeshType luxrays::ExtTriangleMesh::GetType (  )  const [inline, virtual]

Implements luxrays::Mesh.

Definition at line 97 of file exttrianglemesh.h.

References luxrays::TYPE_EXT_TRIANGLE.

UV luxrays::ExtTriangleMesh::GetUV ( const unsigned int  vertIndex  )  const [inline, virtual]

Implements luxrays::ExtMesh.

Definition at line 111 of file exttrianglemesh.h.

References uvs.

Referenced by luxrays::ExtInstanceTriangleMesh::GetUV().

Point luxrays::ExtTriangleMesh::GetVertex ( const unsigned int  vertIndex  )  const [inline, virtual]

Implements luxrays::Mesh.

Definition at line 106 of file exttrianglemesh.h.

References vertices.

Referenced by luxrays::ExtInstanceTriangleMesh::GetVertex(), and luxrays::TriangleMesh::Merge().

Point* luxrays::ExtTriangleMesh::GetVertices (  )  const [inline, virtual]
bool luxrays::ExtTriangleMesh::HasColors (  )  const [inline, virtual]

Implements luxrays::ExtMesh.

Definition at line 103 of file exttrianglemesh.h.

References colors.

Referenced by luxrays::ExtInstanceTriangleMesh::HasColors().

bool luxrays::ExtTriangleMesh::HasNormals (  )  const [inline, virtual]

Implements luxrays::ExtMesh.

Definition at line 102 of file exttrianglemesh.h.

References normals.

Referenced by luxrays::ExtInstanceTriangleMesh::HasNormals().

bool luxrays::ExtTriangleMesh::HasUVs (  )  const [inline, virtual]

Implements luxrays::ExtMesh.

Definition at line 104 of file exttrianglemesh.h.

References uvs.

Referenced by luxrays::ExtInstanceTriangleMesh::HasUVs().

Spectrum luxrays::ExtTriangleMesh::InterpolateTriColor ( const unsigned int  index,
const float  b1,
const float  b2 
) const [inline, virtual]

Implements luxrays::ExtMesh.

Definition at line 124 of file exttrianglemesh.h.

References colors, tris, and luxrays::Triangle::v.

Spectrum luxrays::ExtTriangleMesh::InterpolateTriColor ( const unsigned int  index,
const float  b0,
const float  b1,
const float  b2 
) const [inline, virtual]

Implements luxrays::ExtMesh.

Definition at line 119 of file exttrianglemesh.h.

References colors, tris, and luxrays::Triangle::v.

Referenced by luxrays::ExtInstanceTriangleMesh::InterpolateTriColor().

Normal luxrays::ExtTriangleMesh::InterpolateTriNormal ( const unsigned int  index,
const float  b1,
const float  b2 
) const [inline, virtual]
UV luxrays::ExtTriangleMesh::InterpolateTriUV ( const unsigned int  index,
const float  b1,
const float  b2 
) const [inline, virtual]

Implements luxrays::ExtMesh.

Definition at line 130 of file exttrianglemesh.h.

References tris, uvs, and luxrays::Triangle::v.

Referenced by luxrays::ExtInstanceTriangleMesh::InterpolateTriUV().

ExtTriangleMesh * ExtTriangleMesh::LoadExtTriangleMesh ( Context ctx,
const std::string &  fileName,
const bool  usePlyNormals = false 
) [static]
void luxrays::ExtTriangleMesh::Sample ( const unsigned int  index,
const float  u0,
const float  u1,
Point p,
float *  b0,
float *  b1,
float *  b2 
) const [inline, virtual]

Member Data Documentation

Definition at line 152 of file exttrianglemesh.h.

Referenced by Delete(), ExtTriangleMesh(), GetColor(), HasColors(), and InterpolateTriColor().

unsigned int luxrays::ExtTriangleMesh::triCount [private]

Definition at line 148 of file exttrianglemesh.h.

Referenced by ExtTriangleMesh(), and GetTotalTriangleCount().

Definition at line 153 of file exttrianglemesh.h.

Referenced by Delete(), ExtTriangleMesh(), GetUV(), HasUVs(), and InterpolateTriUV().

unsigned int luxrays::ExtTriangleMesh::vertCount [private]

Definition at line 147 of file exttrianglemesh.h.

Referenced by ExtTriangleMesh(), GetBBox(), and GetTotalVertexCount().


The documentation for this class was generated from the following files:
Generated on Sat Aug 21 14:06:21 2010 for LuxRays by  doxygen 1.6.3