FAST  3.2.0
Framework for Heterogeneous Medical Image Computing and Visualization
Public Member Functions | Friends | List of all members
fast::Mesh Class Reference

The mesh data object contains vertices and optionally a set of lines and/or triangles. Each vertex is represented as a MeshVertex and the lines and triangles as MeshLine and MeshTriangle respectively. More...

#include <Mesh.hpp>

+ Inheritance diagram for fast::Mesh:
+ Collaboration diagram for fast::Mesh:

Public Member Functions

void create (std::vector< MeshVertex > vertices, std::vector< MeshLine > lines={}, std::vector< MeshTriangle > triangles={})
 
void create (uint nrOfVertices, uint nrOfLInes, uint nrOfTriangles, bool useColors, bool useNormals, bool useEBO)
 
VertexBufferObjectAccess::pointer getVertexBufferObjectAccess (accessType access)
 
MeshAccess::pointer getMeshAccess (accessType access)
 
MeshOpenCLAccess::pointer getOpenCLAccess (accessType access, OpenCLDevice::pointer device)
 
int getNrOfTriangles ()
 
int getNrOfLines ()
 
int getNrOfVertices ()
 
void setBoundingBox (DataBoundingBox box)
 
 ~Mesh ()
 
- Public Member Functions inherited from fast::SpatialDataObject
 SpatialDataObject ()
 
virtual DataBoundingBox getBoundingBox () const
 
virtual DataBoundingBox getTransformedBoundingBox () const
 
SceneGraphNode::pointer getSceneGraphNode () const
 
- Public Member Functions inherited from fast::DataObject
 DataObject ()
 
void setMetadata (std::string name, std::string value)
 
void setMetadata (std::unordered_map< std::string, std::string > metadata)
 
std::string getMetadata (std::string name) const
 
std::unordered_map< std::string, std::string > getMetadata () const
 
void deleteMetadata (std::string name)
 
uint64_t getTimestamp () const
 
void updateModifiedTimestamp ()
 
virtual ~DataObject ()
 
virtual std::string getNameOfClass () const =0
 
uint64_t getCreationTimestamp () const
 
void setCreationTimestamp (uint64_t timestamp)
 
void setLastFrame (std::string streamer)
 
bool isLastFrame ()
 
bool isLastFrame (std::string streamer)
 
std::unordered_set< std::string > getLastFrame ()
 
void setFrameData (std::string name, std::string value)
 
std::string getFrameData (std::string name)
 
std::unordered_map< std::string, std::string > getFrameData ()
 
void accessFinished ()
 
- Public Member Functions inherited from fast::Object
 Object ()
 
virtual ~Object ()
 
ReportergetReporter ()
 

Friends

class MeshAccess
 
class VertexBufferObjectAccess
 
class MeshOpenCLAccess
 

Additional Inherited Members

- Public Types inherited from fast::SpatialDataObject
typedef std::shared_ptr< SpatialDataObjectpointer
 
- Public Types inherited from fast::DataObject
typedef std::shared_ptr< DataObjectpointer
 
- Public Types inherited from fast::Object
typedef std::shared_ptr< Objectpointer
 
- Static Public Member Functions inherited from fast::SpatialDataObject
static std::string getStaticNameOfClass ()
 
- Static Public Member Functions inherited from fast::DataObject
static std::string getStaticNameOfClass ()
 
- Static Public Member Functions inherited from fast::Object
static std::string getStaticNameOfClass ()
 
- Protected Member Functions inherited from fast::DataObject
void blockIfBeingWrittenTo ()
 
void blockIfBeingAccessed ()
 
- Protected Member Functions inherited from fast::Object
ReporterreportError ()
 
ReporterreportWarning ()
 
ReporterreportInfo ()
 
ReporterEnd reportEnd () const
 
- Protected Attributes inherited from fast::SpatialDataObject
DataBoundingBox mBoundingBox
 
- Protected Attributes inherited from fast::DataObject
std::mutex mDataIsBeingWrittenToMutex
 
std::condition_variable mDataIsBeingWrittenToCondition
 
bool mDataIsBeingWrittenTo
 
std::mutex mDataIsBeingAccessedMutex
 
std::condition_variable mDataIsBeingAccessedCondition
 
bool mDataIsBeingAccessed
 
- Protected Attributes inherited from fast::Object
std::weak_ptr< ObjectmPtr
 

Detailed Description

The mesh data object contains vertices and optionally a set of lines and/or triangles. Each vertex is represented as a MeshVertex and the lines and triangles as MeshLine and MeshTriangle respectively.

Constructor & Destructor Documentation

◆ ~Mesh()

fast::Mesh::~Mesh ( )

Member Function Documentation

◆ create() [1/2]

void fast::Mesh::create ( std::vector< MeshVertex vertices,
std::vector< MeshLine lines = {},
std::vector< MeshTriangle triangles = {} 
)

◆ create() [2/2]

void fast::Mesh::create ( uint  nrOfVertices,
uint  nrOfLInes,
uint  nrOfTriangles,
bool  useColors,
bool  useNormals,
bool  useEBO 
)

◆ getMeshAccess()

MeshAccess::pointer fast::Mesh::getMeshAccess ( accessType  access)

◆ getNrOfLines()

int fast::Mesh::getNrOfLines ( )

◆ getNrOfTriangles()

int fast::Mesh::getNrOfTriangles ( )

◆ getNrOfVertices()

int fast::Mesh::getNrOfVertices ( )

◆ getOpenCLAccess()

MeshOpenCLAccess::pointer fast::Mesh::getOpenCLAccess ( accessType  access,
OpenCLDevice::pointer  device 
)

◆ getVertexBufferObjectAccess()

VertexBufferObjectAccess::pointer fast::Mesh::getVertexBufferObjectAccess ( accessType  access)

◆ setBoundingBox()

void fast::Mesh::setBoundingBox ( DataBoundingBox  box)

Friends And Related Function Documentation

◆ MeshAccess

friend class MeshAccess
friend

◆ MeshOpenCLAccess

friend class MeshOpenCLAccess
friend

◆ VertexBufferObjectAccess

friend class VertexBufferObjectAccess
friend

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