DGtal
1.0.beta
|
#include <DGtal/base/Common.h>
Public Types | |
enum | CairoType { CairoPDF, CairoPNG, CairoPS, CairoEPS, CairoSVG } |
Public Types inherited from DGtal::Display3D< Space, KSpace > | |
enum | StreamKey { addNewList, updateDisplay, shiftSurfelVisu } |
typedef Display3D< Space, KSpace > | Self |
typedef Space::RealPoint | RealPoint |
typedef Space::RealVector | RealVector |
typedef CanonicEmbedder< Space > | Embedder |
typedef CanonicCellEmbedder< KSpace > | CellEmbedder |
typedef CanonicSCellEmbedder< KSpace > | SCellEmbedder |
typedef int(* | SelectCallbackFct) (void *viewer, DGtal::int32_t name, void *data) |
typedef std::map< DGtal::int32_t, std::vector< QuadD3D > > | QuadsMap |
typedef std::map< DGtal::int32_t, std::vector< CubeD3D > > | CubesMap |
typedef std::map< std::string, std::string > | ModeMapping |
typedef std::map< std::string, CountedPtr< DrawableWithDisplay3D > > | StyleMapping |
Public Member Functions | |
Board3DTo2D () | |
Board3DTo2D (KSpace KSEmb) | |
~Board3DTo2D () | |
std::string | className () const |
void | setCameraPosition (double x, double y, double z) |
void | setCameraDirection (double x, double y, double z) |
void | setCameraUpVector (double x, double y, double z) |
void | setNearFar (double _near, double _far) |
void | saveCairo (const char *filename, CairoType type, int bWidth, int bHeight) |
Board3DTo2D & | operator<< (const DGtal::Color &aColor) |
template<typename TDrawableWithDisplay3D > | |
Board3DTo2D & | operator<< (const TDrawableWithDisplay3D &object) |
void | selfDisplay (std::ostream &out) const |
bool | isValid () const |
Public Member Functions inherited from DGtal::Display3D< Space, KSpace > | |
BOOST_CONCEPT_ASSERT ((concepts::CSpace< Space >)) | |
virtual | ~Display3D () |
Display3D (const KSpace &KSEmb) | |
Display3D () | |
Display3D (const Display3D &)=delete | |
Display3D (Display3D &&)=delete | |
Display3D & | operator= (const Display3D &)=delete |
Display3D & | operator= (Display3D &&)=delete |
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 |
Data Fields | |
DGtal::Color | myDefaultColor |
Data Fields inherited from DGtal::Display3D< Space, KSpace > | |
ModeMapping | myModes |
StyleMapping | myStyles |
bool | myBoundingPtEmptyTag |
double | myBoundingPtUp [3] |
double | myBoundingPtLow [3] |
Protected Member Functions | |
virtual void | init () |
Private Member Functions | |
BOOST_CONCEPT_ASSERT ((concepts::CSpace< Space >)) | |
void | precompute_projection_matrix () |
void | project (double x3d, double y3d, double z3d, double &x2d, double &y2d) |
Static Private Member Functions | |
static void | TransposeMt (double tmat[16], double mat[16]) |
static void | MulMt (double v[4], double mat[16], double b[4]) |
static void | LookAtMt (double mat[16], double eyex, double eyey, double eyez, double dirx, double diry, double dirz, double upx, double upy, double upz) |
Private Attributes | |
int | Viewport [4] |
double | matrix [16] |
double | camera_position [3] |
double | camera_direction [3] |
double | camera_upVector [3] |
double | ZNear |
double | ZFar |
Class for PDF, PNG, PS, EPS, SVG export drawings with Cairo with 3D->2D projection.
Description of class 'Board3DTo2D'
enum DGtal::Board3DTo2D::CairoType |
Cairo type for save files.
Enumerator | |
---|---|
CairoPDF | |
CairoPNG | |
CairoPS | |
CairoEPS | |
CairoSVG |
Definition at line 80 of file Board3DTo2D.h.
DGtal::Board3DTo2D< Space, KSpace >::Board3DTo2D | ( | ) |
Constructor.
|
inline |
Constructor with a khalimsky space
KSEmb | the Khalimsky space |
Definition at line 91 of file Board3DTo2D.h.
|
inline |
Definition at line 98 of file Board3DTo2D.h.
|
private |
|
inline |
Definition at line 104 of file Board3DTo2D.h.
|
protectedvirtual |
init function (should be in Constructor).
Referenced by DGtal::Board3DTo2D< S, KS >::Board3DTo2D().
bool DGtal::Board3DTo2D< Space, KSpace >::isValid | ( | ) | const |
Checks the validity/consistency of the object.
|
staticprivate |
Compute 4x4 LookAt matrix.
mat | destination matrix. |
eyex | x position of eye. |
eyey | y position of eye. |
eyez | z position of eye. |
dirx | x direction of eye. |
diry | y direction of eye. |
dirz | z director of eye. |
upx | x coordinate of up-vector. |
upy | y coordinate of up-vector. |
upz | z coordinate of up-vector. |
|
staticprivate |
Multiply a 3d vector by a 4x4 matrix.
v | destination vector. |
mat | source matrix. |
b | source vector. |
Board3DTo2D& DGtal::Board3DTo2D< Space, KSpace >::operator<< | ( | const DGtal::Color & | aColor | ) |
Set the default color for future drawing.
aColor | a DGtal::Color (allow to set a trasnparency value). |
Board3DTo2D& DGtal::Board3DTo2D< Space, KSpace >::operator<< | ( | const TDrawableWithDisplay3D & | object | ) |
Draws the drawable [object] in this board. It should satisfy the concept CDrawableWithDisplay3D, which requires for instance a method setStyle( Board3DTo2D & ).
object | any drawable object. |
|
private |
Precompute 4x4 projection matrix for 3D->2D projection.
|
private |
Project a 3d point (3D->2D).
x3d | x position of the 3d point. |
y3d | y position of the 3d point. |
z3d | z position of the 3d point. |
x2d | x destination projection position of the 2d point. |
y2d | y destination projection position of the 2d point. |
void DGtal::Board3DTo2D< Space, KSpace >::saveCairo | ( | const char * | filename, |
CairoType | type, | ||
int | bWidth, | ||
int | bHeight | ||
) |
Save a Cairo image.
filename | filename of the image to save. |
type | type of the image to save (CairoPDF, CairoPNG, CairoPS, CairoEPS, CairoSVG). |
bWidth | width of the image to save. |
bHeight | height of the image to save. |
void DGtal::Board3DTo2D< Space, KSpace >::selfDisplay | ( | std::ostream & | out | ) | const |
Writes/Displays the object on an output stream.
out | the output stream where the object is written. |
|
inline |
Set camera direction.
x | x direction. |
y | y direction. |
z | z direction. |
Definition at line 124 of file Board3DTo2D.h.
|
inline |
Set camera position.
x | x position. |
y | y position. |
z | z position. |
Definition at line 115 of file Board3DTo2D.h.
|
inline |
Set camera up-vector.
x | x coordinate of up-vector. |
y | y coordinate of up-vector. |
z | z coordinate of up-vector. |
Definition at line 133 of file Board3DTo2D.h.
|
inline |
Set near and far distance, too near or too far end up not visible.
_near | near distance. |
_far | far distance. |
Definition at line 141 of file Board3DTo2D.h.
|
staticprivate |
Transpose a 4x4 matrix.
tmat | destination matrix. |
mat | source matrix. |
|
private |
camera direction
Definition at line 264 of file Board3DTo2D.h.
Referenced by DGtal::Board3DTo2D< S, KS >::setCameraDirection().
|
private |
camera position
Definition at line 263 of file Board3DTo2D.h.
Referenced by DGtal::Board3DTo2D< S, KS >::setCameraPosition().
|
private |
camera up-vector
Definition at line 265 of file Board3DTo2D.h.
Referenced by DGtal::Board3DTo2D< S, KS >::setCameraUpVector().
|
private |
projection matrix
Definition at line 261 of file Board3DTo2D.h.
DGtal::Color DGtal::Board3DTo2D< Space, KSpace >::myDefaultColor |
default color
The associated map type for storing possible modes used for displaying for digital objects. The associated map type for storing the default styles of digital objects.
Definition at line 167 of file Board3DTo2D.h.
|
private |
2D viewport
Definition at line 260 of file Board3DTo2D.h.
|
private |
zfar distance
Definition at line 268 of file Board3DTo2D.h.
Referenced by DGtal::Board3DTo2D< S, KS >::setNearFar().
|
private |
znear distance
Definition at line 267 of file Board3DTo2D.h.
Referenced by DGtal::Board3DTo2D< S, KS >::setNearFar().