Nix (Dev) 3.5.10
dev - 3.5.10 - 1af9301
Loading...
Searching...
No Matches
CSolid3D Class Reference

#include <CSolid3D.hpp>

Classes

struct  SPrvBandMesh
 

Public Member Functions

 CSolid3D (const CSolid3D *solid3D)
 
 CSolid3D (const std::vector< std::vector< iv::math::geometry::Point3d > > &solid3DClosed)
 
 CSolid3D (const std::vector< iv::math::geometry::Point3d > &points, const std::vector< iv::math::geometry::Point3d > &normals, const std::vector< uint64_t > &indexTriangles, const std::vector< std::vector< uint64_t > > &indexTriangleStrip, const std::vector< std::vector< uint64_t > > &indexTriangleFan)
 
virtual ~CSolid3D ()
 
bool operator== (const CSolid3D &b) const
 
void draw (IGraphics *graphics)
 

Static Public Member Functions

static bool canCreateSurface2DFilled (const std::vector< std::shared_ptr< std::vector< iv::math::geometry::Point3d > > > &contours, std::vector< iv::math::geometry::Point3d > &pointsOut, std::vector< iv::math::geometry::Point3d > &normalsOut, std::vector< uint64_t > &indexTrianglesOut, std::vector< std::vector< uint64_t > > &indexTriangleStripOut, std::vector< std::vector< uint64_t > > &indexTriangleFanOut)
 

Private Types

enum class  EBandType { Triangles , TrianglesStrip , TrianglesFan }
 

Static Private Member Functions

static void prvAppendBand (const CSolid3D::EBandType &typeBand, const std::vector< uint64_t > &indexTriangles, std::vector< SPrvBandMesh > *bands)
 
static void prvAppendBands (const CSolid3D::EBandType &typeBand, const std::vector< std::vector< uint64_t > > &indexTriangles, std::vector< SPrvBandMesh > *bands)
 

Private Attributes

uint64_t m_numPoints
 
float * m_points
 
float * m_normals
 
float * m_textureOpt
 
std::vector< SPrvBandMeshm_bands
 

Member Enumeration Documentation

◆ EBandType

enum class CSolid3D::EBandType
strongprivate
Enumerator
Triangles 
TrianglesStrip 
TrianglesFan 

Constructor & Destructor Documentation

◆ CSolid3D() [1/3]

CSolid3D::CSolid3D ( const CSolid3D * solid3D)
explicit

◆ CSolid3D() [2/3]

CSolid3D::CSolid3D ( const std::vector< std::vector< iv::math::geometry::Point3d > > & solid3DClosed)
explicit

◆ CSolid3D() [3/3]

CSolid3D::CSolid3D ( const std::vector< iv::math::geometry::Point3d > & points,
const std::vector< iv::math::geometry::Point3d > & normals,
const std::vector< uint64_t > & indexTriangles,
const std::vector< std::vector< uint64_t > > & indexTriangleStrip,
const std::vector< std::vector< uint64_t > > & indexTriangleFan )

◆ ~CSolid3D()

CSolid3D::~CSolid3D ( )
virtual

Member Function Documentation

◆ canCreateSurface2DFilled()

bool CSolid3D::canCreateSurface2DFilled ( const std::vector< std::shared_ptr< std::vector< iv::math::geometry::Point3d > > > & contours,
std::vector< iv::math::geometry::Point3d > & pointsOut,
std::vector< iv::math::geometry::Point3d > & normalsOut,
std::vector< uint64_t > & indexTrianglesOut,
std::vector< std::vector< uint64_t > > & indexTriangleStripOut,
std::vector< std::vector< uint64_t > > & indexTriangleFanOut )
static

◆ draw()

void CSolid3D::draw ( IGraphics * graphics)

◆ operator==()

bool CSolid3D::operator== ( const CSolid3D & b) const

◆ prvAppendBand()

void CSolid3D::prvAppendBand ( const CSolid3D::EBandType & typeBand,
const std::vector< uint64_t > & indexTriangles,
std::vector< SPrvBandMesh > * bands )
staticprivate

◆ prvAppendBands()

void CSolid3D::prvAppendBands ( const CSolid3D::EBandType & typeBand,
const std::vector< std::vector< uint64_t > > & indexTriangles,
std::vector< SPrvBandMesh > * bands )
staticprivate

Member Data Documentation

◆ m_bands

std::vector<SPrvBandMesh> CSolid3D::m_bands
private

◆ m_normals

float* CSolid3D::m_normals
private

◆ m_numPoints

uint64_t CSolid3D::m_numPoints
private

◆ m_points

float* CSolid3D::m_points
private

◆ m_textureOpt

float* CSolid3D::m_textureOpt
private

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