Mantid
Loading...
Searching...
No Matches
Public Member Functions | Private Member Functions | Private Attributes | List of all members
Mantid::Geometry::detail::GeometryTriangulator Class Reference

GeometryTriangulator : Triangulates object surfaces. More...

#include <GeometryTriangulator.h>

Public Member Functions

void generateMesh ()
 
 GeometryTriangulator (const CSGObject *obj=nullptr)
 
 GeometryTriangulator (const GeometryTriangulator &)=delete
 
 GeometryTriangulator (std::unique_ptr< RenderingMesh > obj)
 
const std::vector< uint32_t > & getTriangleFaces ()
 get a pointer to the 3x(NumberOFaces) integers describing points forming faces (p1,p2,p3)(p4,p5,p6). More...
 
const std::vector< double > & getTriangleVertices ()
 get a pointer to the 3x(NumberOfPoints) coordinates (x1,y1,z1,x2..) of mesh More...
 
size_t numTriangleFaces ()
 Return the number of triangle faces. More...
 
size_t numTriangleVertices ()
 Return the number of triangle vertices. More...
 
GeometryTriangulatoroperator= (const GeometryTriangulator &)=delete
 
void setGeometryCache (size_t nPoints, size_t nFaces, std::vector< double > &&points, std::vector< uint32_t > &&faces)
 
void triangulate ()
 
 ~GeometryTriangulator ()
 

Private Member Functions

void checkTriangulated ()
 

Private Attributes

const CSGObjectm_csgObj = nullptr
 Input Object. More...
 
std::vector< uint32_t > m_faces
 Integer array of faces. More...
 
bool m_isTriangulated
 
std::unique_ptr< RenderingMeshm_meshObj
 
size_t m_nFaces = 0
 
size_t m_nPoints = 0
 
std::vector< double > m_points
 double array or points More...
 

Detailed Description

GeometryTriangulator : Triangulates object surfaces.

May or may not use opencascade.

Definition at line 25 of file GeometryTriangulator.h.

Constructor & Destructor Documentation

◆ GeometryTriangulator() [1/3]

Mantid::Geometry::detail::GeometryTriangulator::GeometryTriangulator ( const CSGObject obj = nullptr)

Definition at line 87 of file GeometryTriangulator.cpp.

◆ GeometryTriangulator() [2/3]

Mantid::Geometry::detail::GeometryTriangulator::GeometryTriangulator ( std::unique_ptr< RenderingMesh obj)

Definition at line 96 of file GeometryTriangulator.cpp.

◆ GeometryTriangulator() [3/3]

Mantid::Geometry::detail::GeometryTriangulator::GeometryTriangulator ( const GeometryTriangulator )
delete

◆ ~GeometryTriangulator()

Mantid::Geometry::detail::GeometryTriangulator::~GeometryTriangulator ( )
default

Member Function Documentation

◆ checkTriangulated()

void Mantid::Geometry::detail::GeometryTriangulator::checkTriangulated ( )
private

◆ generateMesh()

void Mantid::Geometry::detail::GeometryTriangulator::generateMesh ( )

Definition at line 116 of file GeometryTriangulator.cpp.

Referenced by triangulate().

◆ getTriangleFaces()

const std::vector< uint32_t > & Mantid::Geometry::detail::GeometryTriangulator::getTriangleFaces ( )

get a pointer to the 3x(NumberOFaces) integers describing points forming faces (p1,p2,p3)(p4,p5,p6).

Definition at line 153 of file GeometryTriangulator.cpp.

References checkTriangulated(), and m_faces.

◆ getTriangleVertices()

const std::vector< double > & Mantid::Geometry::detail::GeometryTriangulator::getTriangleVertices ( )

get a pointer to the 3x(NumberOfPoints) coordinates (x1,y1,z1,x2..) of mesh

Definition at line 147 of file GeometryTriangulator.cpp.

References checkTriangulated(), and m_points.

◆ numTriangleFaces()

size_t Mantid::Geometry::detail::GeometryTriangulator::numTriangleFaces ( )

Return the number of triangle faces.

Definition at line 135 of file GeometryTriangulator.cpp.

References checkTriangulated(), and m_nFaces.

◆ numTriangleVertices()

size_t Mantid::Geometry::detail::GeometryTriangulator::numTriangleVertices ( )

Return the number of triangle vertices.

Definition at line 140 of file GeometryTriangulator.cpp.

References checkTriangulated(), and m_nPoints.

◆ operator=()

GeometryTriangulator & Mantid::Geometry::detail::GeometryTriangulator::operator= ( const GeometryTriangulator )
delete

◆ setGeometryCache()

void Mantid::Geometry::detail::GeometryTriangulator::setGeometryCache ( size_t  nPoints,
size_t  nFaces,
std::vector< double > &&  points,
std::vector< uint32_t > &&  faces 
)

Definition at line 258 of file GeometryTriangulator.cpp.

References m_faces, m_isTriangulated, m_nFaces, m_nPoints, and m_points.

◆ triangulate()

void Mantid::Geometry::detail::GeometryTriangulator::triangulate ( )

Member Data Documentation

◆ m_csgObj

const CSGObject* Mantid::Geometry::detail::GeometryTriangulator::m_csgObj = nullptr
private

Input Object.

Definition at line 32 of file GeometryTriangulator.h.

Referenced by checkTriangulated().

◆ m_faces

std::vector<uint32_t> Mantid::Geometry::detail::GeometryTriangulator::m_faces
private

Integer array of faces.

Definition at line 31 of file GeometryTriangulator.h.

Referenced by getTriangleFaces(), setGeometryCache(), and triangulate().

◆ m_isTriangulated

bool Mantid::Geometry::detail::GeometryTriangulator::m_isTriangulated
private

Definition at line 27 of file GeometryTriangulator.h.

Referenced by checkTriangulated(), setGeometryCache(), and triangulate().

◆ m_meshObj

std::unique_ptr<RenderingMesh> Mantid::Geometry::detail::GeometryTriangulator::m_meshObj
private

Definition at line 33 of file GeometryTriangulator.h.

Referenced by checkTriangulated(), and triangulate().

◆ m_nFaces

size_t Mantid::Geometry::detail::GeometryTriangulator::m_nFaces = 0
private

Definition at line 28 of file GeometryTriangulator.h.

Referenced by numTriangleFaces(), setGeometryCache(), and triangulate().

◆ m_nPoints

size_t Mantid::Geometry::detail::GeometryTriangulator::m_nPoints = 0
private

Definition at line 29 of file GeometryTriangulator.h.

Referenced by numTriangleVertices(), setGeometryCache(), and triangulate().

◆ m_points

std::vector<double> Mantid::Geometry::detail::GeometryTriangulator::m_points
private

double array or points

Definition at line 30 of file GeometryTriangulator.h.

Referenced by getTriangleVertices(), setGeometryCache(), and triangulate().


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