|
| Board3D () |
|
| Board3D (const KSpace &KSEmb) |
|
| ~Board3D () |
|
std::string | className () const |
|
void | saveOBJ (const std::string &filename, const bool isNormalized=false) |
|
Board3D & | operator<< (const DGtal::Color &aColor) |
|
template<typename TDrawableWithDisplay3D > |
Board3D & | operator<< (const TDrawableWithDisplay3D &object) |
|
void | selfDisplay (std::ostream &out) const |
|
bool | isValid () const |
|
unsigned int | getMaterialIndex (const DGtal::Color &aColor) |
|
| BOOST_CONCEPT_ASSERT ((concepts::CSpace< Space >)) |
|
virtual | ~Display3D () |
|
| Display3D (const KSpace &KSEmb) |
|
| Display3D () |
|
| Display3D (const Display3D &)=delete |
| Copy constructor. Deleted. More...
|
|
| Display3D (Display3D &&)=delete |
| Move constructor. Deleted. More...
|
|
Display3D & | operator= (const Display3D &)=delete |
| Assignment operator. Deleted. More...
|
|
Display3D & | operator= (Display3D &&)=delete |
| Move operator. Deleted. More...
|
|
const Embedder & | embedder () const |
|
const CellEmbedder & | cellEmbedder () const |
|
const SCellEmbedder & | sCellEmbedder () const |
|
const KSpace & | space () const |
|
virtual void | setFillColor (DGtal::Color aColor) |
|
virtual void | setFillTransparency (unsigned char alpha) |
|
virtual void | setLineColor (DGtal::Color aColor) |
|
virtual DGtal::Color | getFillColor () |
|
virtual DGtal::Color | getLineColor () |
|
virtual void | setKSpace (const KSpace &aKSpace) |
|
void | setName3d (DGtal::int32_t name=-1) |
|
DGtal::int32_t | name3d () const |
|
void | setSelectCallback3D (SelectCallbackFct fct, void *data, DGtal::int32_t min_name, DGtal::int32_t max_name) |
|
SelectCallbackFct | getSelectCallback3D (DGtal::int32_t aName, void *&data) const |
|
void | addClippingPlane (double a, double b, double c, double d, bool drawPlane) |
|
std::string | getMode (const std::string &objectName) const |
|
void | createNewLineList (std::string s="") |
|
void | createNewBallList (std::string s="") |
|
DGtal::int32_t | createNewCubeList () |
|
bool | deleteCubeList (const DGtal::int32_t name) |
|
DGtal::int32_t | createNewQuadList () |
|
bool | deleteQuadList (const DGtal::int32_t name) |
|
void | createNewTriangleList (std::string s="") |
|
void | createNewPolygonList (std::string s="") |
|
void | addQuad (const RealPoint &p1, const RealPoint &p2, const RealPoint &p3, const RealPoint &p4) |
|
void | addQuadWithNormal (const RealPoint &p1, const RealPoint &p2, const RealPoint &p3, const RealPoint &p4, const RealPoint &n, const bool enableReorientation, const bool enableDoubleFace=false) |
|
void | addQuadFromSurfelCenter (const RealPoint &baseQuadCenter, bool xSurfel, bool ySurfel, bool zSurfel) |
|
void | addQuadFromSurfelCenterWithNormal (const RealPoint &baseQuadCenter, bool xSurfel, bool ySurfel, bool zSurfel, const RealVector &aNormal, const bool enableReorientation, const bool sign, const bool enableDoubleFace=false) |
|
void | addTriangle (const RealPoint &p1, const RealPoint &p2, const RealPoint &p3) |
|
void | addPolygon (const std::vector< RealPoint > &vertices) |
|
void | addLine (const RealPoint &p1, const RealPoint &p2, const double width=0.03) |
|
void | addCube (const RealPoint ¢er, double width=1.0) |
|
void | addBall (const RealPoint ¢er, const double radius=0.5, const unsigned int resolution=30) |
|
void | addPrism (const RealPoint &baseQuadCenter, bool xSurfel, bool ySurfel, bool zSurfel, double sizeShiftFactor, double sizeFactor=1.0, bool isSigned=false, bool aSign=true) |
|
void | addBasicSurfel (const RealPoint &baseQuadCenter, bool xSurfel, bool ySurfel, bool zSurfel) |
|
void | addCone (const RealPoint &p1, const RealPoint &p2, double width=0.08) |
|
void | addCylinder (const RealPoint &p1, const RealPoint &p2, const double width=0.02) |
|
void | updateBoundingBox (const RealPoint &point) |
|
void | exportToMesh (Mesh< RealPoint > &aMesh) const |
|
template<typename TDrawableWithDisplay3D > |
Display3D & | operator<< (const TDrawableWithDisplay3D &object) |
|
void | selfDisplay (std::ostream &out) const |
|
bool | isValid () const |
|
void | clear () |
|
RealPoint | embed (const typename Space::Point &dp) const |
|
RealPoint | embedKS (const typename KSpace::SCell &cell) const |
|
RealPoint | embedKS (const DGtal::TransformedPrism &aTrans) const |
|
RealPoint | embedK (const typename KSpace::Cell &cell) const |
|
|
enum | StreamKey { addNewList
, updateDisplay
, shiftSurfelVisu
} |
|
typedef Display3D< Space, KSpace > | Self |
|
typedef Space::RealPoint | RealPoint |
| RealPoint type. More...
|
|
typedef Space::RealVector | RealVector |
| RealVector type. More...
|
|
typedef CanonicEmbedder< Space > | Embedder |
|
typedef CanonicCellEmbedder< KSpace > | CellEmbedder |
|
typedef CanonicSCellEmbedder< KSpace > | SCellEmbedder |
|
typedef int(* | SelectCallbackFct) (void *viewer, DGtal::int32_t name, void *data) |
| Select callback function type. More...
|
|
typedef std::map< DGtal::int32_t, std::vector< QuadD3D > > | QuadsMap |
| The type that maps identifier name -> vector of QuadD3D. More...
|
|
typedef std::map< DGtal::int32_t, std::vector< CubeD3D > > | CubesMap |
| The type that maps identifier name -> vector of CubeD3D. More...
|
|
typedef std::map< std::string, std::string > | ModeMapping |
|
typedef std::map< std::string, CountedPtr< DrawableWithDisplay3D > > | StyleMapping |
|
static void | cross (double dst[3], double srcA[3], double srcB[3]) |
|
static void | normalize (double vec[3]) |
|
KSpace | myKSpace |
| The Khalimsky space. More...
|
|
Embedder * | myEmbedder |
| an embeder from a dgtal space point to a real space point More...
|
|
CellEmbedder * | myCellEmbedder |
| an embeder from a unsigned khalimsky space point to a real space point More...
|
|
SCellEmbedder * | mySCellEmbedder |
| an embeder from a signed khalimsky space point to a real space point More...
|
|
DGtal::Color | myCurrentFillColor |
|
DGtal::Color | myCurrentLineColor |
|
double | myCurrentfShiftVisuPrisms |
|
std::vector< std::vector< LineD3D > > | myLineSetList |
|
std::vector< std::vector< BallD3D > > | myBallSetList |
|
std::vector< ClippingPlaneD3D > | myClippingPlaneList |
|
std::vector< QuadD3D > | myPrismList |
|
QuadsMap | myQuadsMap |
|
std::vector< std::vector< TriangleD3D > > | myTriangleSetList |
| Represents all the triangles drawn in the Display3D. More...
|
|
std::vector< std::vector< PolygonD3D > > | myPolygonSetList |
| Represents all the polygon drawn in the Display3D. More...
|
|
CubesMap | myCubesMap |
|
std::vector< std::string > | myCubeSetNameList |
|
std::vector< std::string > | myLineSetNameList |
|
std::vector< std::string > | myBallSetNameList |
|
std::vector< std::string > | myClippingPlaneNameList |
|
std::vector< std::string > | myPrismNameList |
|
std::vector< std::string > | myQuadSetNameList |
|
std::vector< std::string > | myTriangleSetNameList |
|
std::vector< std::string > | myPolygonSetNameList |
|
DGtal::int32_t | myName3d |
|
std::set< SelectCallbackFctStore > | mySelectCallBackFcts |
|
bool | myBoundingPtChangedTag = false |
|
template<typename
Space = Z3i::Space, typename
KSpace = Z3i::KSpace>
class DGtal::Board3D< Space, KSpace >
The class Board3D is a type of Display3D which export the figures in the format OBJ/MTL when calling the method saveOBJ.
The format OBJ/MTL is a geometry definition file format, this format has been adopted by many 3D graphics application vendors (pbrt, blender, etc.). to learn more about OBJ see http://en.wikipedia.org/wiki/Wavefront_.obj_file
When exporting Board3D regroup objects by they list name. If two lists have the same name they will melt in the same mesh eventually. If a list doesn't have a name the program will try to give it an unique name so it will become a separate mesh. Each list have a material description which correspond to its first element color. If two lists have the same name and merge the final mesh will have two materials (one per list).
- Template Parameters
-
Space | a model of digital space (default type=Z3i::Space) |
KSpace | a model of Khalimsky space (default type=Z3i::KSpace) |
- Examples
- io/boards/dgtalBoard3D-1-points.cpp, io/boards/dgtalBoard3D-2-ks.cpp, io/boards/dgtalBoard3D-6-clipping.cpp, and shapes/exampleMeshVoxelizer.cpp.
Definition at line 81 of file Board3D.h.