Chemical Data Processing Library C++ API - Version 1.3.0
Public Types | Public Member Functions | List of all members
CDPL::Vis::TriangleMesh3D Class Reference

Data structure for describing the geometric shape of 3D objects by means of a triangle mesh. More...

#include <TriangleMesh3D.hpp>

+ Inheritance diagram for CDPL::Vis::TriangleMesh3D:

Public Types

typedef std::shared_ptr< TriangleMesh3DSharedPointer
 A reference-counted smart pointer [SHPTR] for dynamically allocated TriangleMesh3D instances. More...
 
- Public Types inherited from CDPL::Vis::Shape3D
typedef std::shared_ptr< Shape3DSharedPointer
 A reference-counted smart pointer [SHPTR] for dynamically allocated Shape3D instances. More...
 

Public Member Functions

Shape3D::SharedPointer clone () const
 Creates a dynamically allocated copy of the graphics primitive. More...
 
void accept (Shape3DVisitor &visitor) const
 Vis::Shape3DVisitor implementation accept method [VPTN]. More...
 
Math::Vector3DArraygetVertices ()
 
const Math::Vector3DArraygetVertices () const
 
void addVertex (double x, double y, double z)
 
std::size_t getNumVertices () const
 
Math::Vector3DArraygetVertexNormals ()
 
const Math::Vector3DArraygetVertexNormals () const
 
void addVertexNormal (double x, double y, double z)
 
std::size_t getNumVertexNormals () const
 
Math::Vector3ULArraygetFaces ()
 
const Math::Vector3ULArraygetFaces () const
 
void addFace (unsigned long v1_idx, unsigned long v2_idx, unsigned long v3_idx)
 
std::size_t getNumFaces () const
 
bool isSolid () const
 
void setSolid (bool solid=true)
 
void clear ()
 
void swap (TriangleMesh3D &mesh)
 
TriangleMesh3Doperator+= (const TriangleMesh3D &mesh)
 
- Public Member Functions inherited from CDPL::Vis::Shape3D
virtual ~Shape3D ()
 Virtual destructor. More...
 

Detailed Description

Data structure for describing the geometric shape of 3D objects by means of a triangle mesh.

Since
1.3

Member Typedef Documentation

◆ SharedPointer

A reference-counted smart pointer [SHPTR] for dynamically allocated TriangleMesh3D instances.

Member Function Documentation

◆ clone()

Shape3D::SharedPointer CDPL::Vis::TriangleMesh3D::clone ( ) const
virtual

Creates a dynamically allocated copy of the graphics primitive.

Returns
The copy of the graphics primitive.

Implements CDPL::Vis::Shape3D.

◆ accept()

void CDPL::Vis::TriangleMesh3D::accept ( Shape3DVisitor visitor) const
virtual

Vis::Shape3DVisitor implementation accept method [VPTN].

Parameters
visitorThe Vis::Shape3DVisitor instance to accept.

Implements CDPL::Vis::Shape3D.

◆ getVertices() [1/2]

Math::Vector3DArray& CDPL::Vis::TriangleMesh3D::getVertices ( )

◆ getVertices() [2/2]

const Math::Vector3DArray& CDPL::Vis::TriangleMesh3D::getVertices ( ) const

◆ addVertex()

void CDPL::Vis::TriangleMesh3D::addVertex ( double  x,
double  y,
double  z 
)

◆ getNumVertices()

std::size_t CDPL::Vis::TriangleMesh3D::getNumVertices ( ) const

◆ getVertexNormals() [1/2]

Math::Vector3DArray& CDPL::Vis::TriangleMesh3D::getVertexNormals ( )

◆ getVertexNormals() [2/2]

const Math::Vector3DArray& CDPL::Vis::TriangleMesh3D::getVertexNormals ( ) const

◆ addVertexNormal()

void CDPL::Vis::TriangleMesh3D::addVertexNormal ( double  x,
double  y,
double  z 
)

◆ getNumVertexNormals()

std::size_t CDPL::Vis::TriangleMesh3D::getNumVertexNormals ( ) const

◆ getFaces() [1/2]

Math::Vector3ULArray& CDPL::Vis::TriangleMesh3D::getFaces ( )

◆ getFaces() [2/2]

const Math::Vector3ULArray& CDPL::Vis::TriangleMesh3D::getFaces ( ) const

◆ addFace()

void CDPL::Vis::TriangleMesh3D::addFace ( unsigned long  v1_idx,
unsigned long  v2_idx,
unsigned long  v3_idx 
)

◆ getNumFaces()

std::size_t CDPL::Vis::TriangleMesh3D::getNumFaces ( ) const

◆ isSolid()

bool CDPL::Vis::TriangleMesh3D::isSolid ( ) const

◆ setSolid()

void CDPL::Vis::TriangleMesh3D::setSolid ( bool  solid = true)

◆ clear()

void CDPL::Vis::TriangleMesh3D::clear ( )

◆ swap()

void CDPL::Vis::TriangleMesh3D::swap ( TriangleMesh3D mesh)

◆ operator+=()

TriangleMesh3D& CDPL::Vis::TriangleMesh3D::operator+= ( const TriangleMesh3D mesh)

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