DGtal 2.0.0
Loading...
Searching...
No Matches
DGtal::PolyscopeViewer< Space, KSpace > Class Template Reference

#include <DGtal/io/viewers/PolyscopeViewer.h>

Inheritance diagram for DGtal::PolyscopeViewer< Space, KSpace >:
[legend]

Public Member Functions

 PolyscopeViewer ()
 
 PolyscopeViewer (const KSpace &k)
 
void clearView () override
 Clear the screen.
 
void show () override
 Starts the event loop and display of elements.
 
void renderNewData () override
 Renders newly added data.
 
void setCallback (typename Display3D< Space, KSpace >::Callback *callback) override
 
void renderClippingPlanes ()
 
 ~PolyscopeViewer ()
 
- Public Member Functions inherited from DGtal::Display3D< Space, KSpace >
 Display3D (const KSpace &space)
 
 Display3D ()
 
virtual void renderAll ()
 (Re)Render all data
 
virtual void clear ()
 Clear the viewer, including screen and internal data.
 
virtual void setCallback (Callback *callback)
 Sets callback.
 
std::string newList (const std::string &name, size_t eSize=0)
 Create a new group.
 
bool setCurrentList (const std::string &name)
 Set the current group for further updates.
 
bool canCreateNewList (size_t elementSize) const
 Tells if a list of a given elementSize can be reused.
 
std::string createOrReuseList (const std::string &name, size_t elementSize)
 Reuse a list if possible, otherwise create a new one.
 
void endCurrentGroup ()
 End current group and sets an invalid current group.
 
std::string newCubeList (const std::string &name)
 
std::string newBallList (const std::string &name)
 
std::string newLineList (const std::string &name)
 
std::string newQuadList (const std::string &name)
 
std::string newPolygonList (const std::string &name)
 
std::string newTriangleList (const std::string &name)
 
std::string newVolumetricList (const std::string &name)
 
std::string createOrReuseCubeList (const std::string &name)
 
std::string createOrReuseBallList (const std::string &name)
 
std::string createOrReuseLineList (const std::string &name)
 
std::string createOrReuseQuadList (const std::string &name)
 
std::string createOrReusePolygonList (const std::string &name)
 
std::string createOrReuseTriangleList (const std::string &name)
 
std::string createOrReuseVolumetricList (const std::string &name)
 
template<typename Obj >
Display3Doperator<< (const Obj &obj)
 Draw object with stream API.
 
std::string draw (const Point &p, const std::string &uname="Point_{i}")
 
std::string draw (const RealPoint &rp, const std::string &uname="Point_{i}")
 
template<typename T >
std::string draw (const std::vector< T > &vec, const std::string &uname="")
 
template<typename A , typename B , typename C >
std::string draw (const ConstRangeAdapter< A, B, C > range, const std::string &uname="")
 
template<typename A , typename B , typename C >
std::string draw (const ConstIteratorAdapter< A, B, C > &adapter, const std::string &uname="")
 
std::string draw (const GridCurve< KSpace > &curve, const std::string &uname="GridCurve_{i}")
 
std::string draw (const typename GridCurve< KSpace >::MidPointsRange &range, const std::string &uname="MidPoints_{i}")
 
std::string draw (const typename GridCurve< KSpace >::ArrowsRange &range, const std::string &uname="Arrows_{i}")
 
template<DGtal::Dimension emb, DGtal::Dimension amb, typename Algebra , typename Int >
std::string draw (const DiscreteExteriorCalculus< emb, amb, Algebra, Int > &calc, const std::string &uname="Calculus_{i}")
 
template<typename Calculus , DGtal::Order order, DGtal::Duality duality>
std::string draw (const KForm< Calculus, order, duality > &kform, const std::string &uname="KForm_{i}")
 
template<typename Calculus , DGtal::Duality dual>
std::string draw (const VectorField< Calculus, dual > &field, const std::string &uname="Field_{i}")
 
std::string draw (const KCell &cell, const std::string &name="KCell_{i}_{d}d")
 
std::string draw (const SCell &cell, const std::string &name="SCell_{i}_{d}d")
 
std::string draw (const HyperRectDomain< Space > &domain, const std::string &uname="\xff Domain_{i}")
 
template<typename Vec >
std::string drawPolygon (const std::vector< Vec > &vertices, const std::string &uname="Polygon_{i}")
 Draws a polygon.
 
std::string drawBall (const RealPoint &c, const std::string &uname="Ball_{i}")
 
std::string drawLine (const RealPoint &a, const RealPoint &b, const std::string &uname="Line_{i}")
 
std::string drawQuad (const RealPoint &a, const RealPoint &b, const RealPoint &c, const RealPoint &d, const std::string &uname="Quad_{i}")
 
template<typename Obj , typename Cont >
std::string draw (const DigitalSetByAssociativeContainer< Obj, Cont > &set, const std::string &name="Set_{i}")
 
template<typename Adj , typename Set >
std::string draw (const DGtal::Object< Adj, Set > &obj, const std::string &uname="Object_{i}")
 
template<typename D , typename T >
std::string draw (const ImageContainerBySTLVector< D, T > &image, const std::string &name="Image_{i}")
 
template<typename TImageContainer , typename TNewDomain , typename TFunctorD , typename TNewValue , typename TFunctorV , typename TFunctorVm1 >
std::string draw (const ImageAdapter< TImageContainer, TNewDomain, TFunctorD, TNewValue, TFunctorV, TFunctorVm1 > &adapter, const std::string &name="Image_{i}")
 
template<typename TImageContainer , typename TNewDomain , typename TFunctorD , typename TNewValue , typename TFunctorV >
std::string draw (const ConstImageAdapter< TImageContainer, TNewDomain, TFunctorD, TNewValue, TFunctorV > &adapter, const std::string &name="Image_{i}")
 
template<typename Pt >
std::string draw (const Mesh< Pt > &mesh, const std::string &uname="Mesh_{i}")
 
template<typename It , typename Int , int Con>
std::string draw (const StandardDSS6Computer< It, Int, Con > &computer, const std::string &uname="Computer_{i}")
 
template<typename It , typename Int , int Con>
std::string draw (const Naive3DDSSComputer< It, Int, Con > &computer, const std::string &uname="Computer_{i}")
 
template<typename T , typename Type >
std::string draw (const WithQuantity< T, Type > &props, const std::string &uname="")
 
template<typename Type >
void addQuantity (const std::string &oName, const std::string &qName, const Type &value, QuantityScale scale=QuantityScale::UNKNOWN)
 
template<typename Type >
void addQuantity (const std::string &oName, const std::string &qName, const std::vector< Type > &value, QuantityScale scale=QuantityScale::UNKNOWN)
 
std::string draw (const ClippingPlane &plane, const std::string &name="")
 
template<typename T >
std::string draw (const SphericalAccumulator< T > accumulator, const std::string &uname="SphericalAccumulator_{i}")
 
std::string draw (const DGtal::Color &color, const std::string &name="")
 
void drawColor (const DGtal::Color &color)
 
void setDefaultColors ()
 
void drawAdjacencies (bool toggle=true)
 
void drawAsSimplified (bool toggle=true)
 
void drawAsGrid (bool toggle=true)
 
void defaultStyle ()
 
void drawAsPaving ()
 
void drawAsBalls ()
 

Static Public Attributes

static constexpr double BallToCubeRatio = 0.025
 
static constexpr double VectorScale = 1. / 30.
 

Private Member Functions

void setGeneralProperties (polyscope::Structure *s, const DisplayData< typename Space::RealPoint > &d)
 
void registerPointCloud (const std::string &n, const DisplayData< typename Space::RealPoint > &d)
 
void registerLineNetwork (const std::string &n, const DisplayData< typename Space::RealPoint > &d)
 
void registerSurfaceMesh (const std::string &n, const DisplayData< typename Space::RealPoint > &d)
 
void registerVolumeMesh (const std::string &n, const DisplayData< typename Space::RealPoint > &d)
 
void polyscopeCallback ()
 

Additional Inherited Members

- Public Types inherited from DGtal::Display3D< Space, KSpace >
using Point = typename Space::Point
 
using KCell = typename KSpace::Cell
 
using SCell = typename KSpace::SCell
 
using RealPoint = typename Space::RealPoint
 
using Embedder = CanonicEmbedder< Space >
 
using CellEmbedder = CanonicCellEmbedder< KSpace >
 
using SCellEmbedder = CanonicSCellEmbedder< KSpace >
 
- Data Fields inherited from DGtal::Display3D< Space, KSpace >
DisplayStyle currentStyle
 
bool allowReuseList = false
 
std::vector< ClippingPlaneplanes
 
std::map< std::string, DisplayData< RealPoint > > data
 
- Protected Attributes inherited from DGtal::Display3D< Space, KSpace >
KSpace myKSpace
 
Embedder myEmbedder
 
CellEmbedder myCellEmbedder
 
SCellEmbedder mySCellEmbedder
 
CallbackmyCallback = nullptr
 
std::vector< std::string > myToRender
 
std::string myCurrentName = ""
 
DisplayData< RealPoint > * myCurrentData = nullptr
 

Detailed Description

template<typename Space = Z3i::Space, typename KSpace = Z3i::KSpace>
class DGtal::PolyscopeViewer< Space, KSpace >
Examples
dec/exampleDECSurface.cpp, dec/exampleDiscreteExteriorCalculusSolve.cpp, examples/tutorial-examples/polyhedralizer.cpp, geometry/curves/exampleArithDSS3d.cpp, geometry/curves/exampleGridCurve3d-2.cpp, geometry/curves/exampleGridCurve3d.cpp, geometry/surfaces/dvcm-3d.cpp, geometry/surfaces/greedy-plane-segmentation-ex2.cpp, geometry/surfaces/greedy-plane-segmentation.cpp, geometry/volumes/digitalPolyhedronBuilder3D.cpp, geometry/volumes/distance/distancetransform3D.cpp, geometry/volumes/distance/exampleFMM3D.cpp, geometry/volumes/fullConvexityAnalysis3D.cpp, geometry/volumes/fullConvexityShortestPaths3D.cpp, geometry/volumes/fullConvexityThinning3D.cpp, geometry/volumes/standardDigitalPolyhedronBuilder3D.cpp, graph/volDistanceTraversal.cpp, io/digitalSetFromPointList.cpp, io/digitalSetFromVol.cpp, io/meshFromOFF.cpp, io/viewDualSurface.cpp, io/viewers/demo-kernel-2.cpp, io/viewers/viewer3D-1-points.cpp, io/viewers/viewer3D-10-interaction.cpp, io/viewers/viewer3D-2-sets.cpp, io/viewers/viewer3D-3-objects.cpp, io/viewers/viewer3D-4-modes.cpp, io/viewers/viewer3D-5-colors.cpp, io/viewers/viewer3D-6-clipping.cpp, io/viewers/viewer3D-7-planes.cpp, io/viewers/viewer3D-7-stdplane.cpp, io/viewers/viewer3D-8-2DSliceImages.cpp, io/viewers/viewer3D-9-3Dimages.cpp, shapes/exampleSurfaceMesh.cpp, shapes/mesh3DConstructionAndVisualisation.cpp, shapes/viewMarchingCubes.cpp, shapes/viewPolygonalMarchingCubes.cpp, topology/3dBorderExtraction.cpp, topology/3dBorderExtractionImg.cpp, topology/3dKSSurfaceExtraction.cpp, topology/ctopo-1-3d.cpp, topology/ctopo-1s-3d.cpp, topology/cubical-complex-collapse.cpp, topology/digitalSurfaceSlice.cpp, topology/frontierAndBoundary.cpp, topology/homotopicThinning3D.cpp, topology/volBreadthFirstTraversal.cpp, topology/volScanBoundary.cpp, topology/volTrackBoundary.cpp, tutorial-examples/polyhedralizer.cpp, and tutorial-examples/volDTGranulo.cpp.

Definition at line 52 of file PolyscopeViewer.h.

Constructor & Destructor Documentation

◆ PolyscopeViewer() [1/2]

template<typename Space = Z3i::Space, typename KSpace = Z3i::KSpace>
DGtal::PolyscopeViewer< Space, KSpace >::PolyscopeViewer ( )
inline

Definition at line 54 of file PolyscopeViewer.h.

54 : Display3D<Space, KSpace>() {
55 polyscope::init();
56 }

◆ PolyscopeViewer() [2/2]

template<typename Space = Z3i::Space, typename KSpace = Z3i::KSpace>
DGtal::PolyscopeViewer< Space, KSpace >::PolyscopeViewer ( const KSpace k)
inline

Definition at line 58 of file PolyscopeViewer.h.

58 : Display3D<Space, KSpace>(k) {
59 polyscope::init();
60 }

◆ ~PolyscopeViewer()

template<typename Space = Z3i::Space, typename KSpace = Z3i::KSpace>
DGtal::PolyscopeViewer< Space, KSpace >::~PolyscopeViewer ( )
inline

Definition at line 84 of file PolyscopeViewer.h.

84 {
85 this->clear();
86 }
virtual void clear()
Clear the viewer, including screen and internal data.

References DGtal::Display3D< Space, KSpace >::clear().

Member Function Documentation

◆ clearView()

template<typename Space = Z3i::Space, typename KSpace = Z3i::KSpace>
void DGtal::PolyscopeViewer< Space, KSpace >::clearView ( )
inlineoverridevirtual

Clear the screen.

Implements DGtal::Display3D< Space, KSpace >.

Definition at line 63 of file PolyscopeViewer.h.

63 {
64 polyscope::removeAllStructures();
65 }

◆ polyscopeCallback()

template<typename Space = Z3i::Space, typename KSpace = Z3i::KSpace>
void DGtal::PolyscopeViewer< Space, KSpace >::polyscopeCallback ( )
private

◆ registerLineNetwork()

template<typename Space = Z3i::Space, typename KSpace = Z3i::KSpace>
void DGtal::PolyscopeViewer< Space, KSpace >::registerLineNetwork ( const std::string &  n,
const DisplayData< typename Space::RealPoint > &  d 
)
private

◆ registerPointCloud()

template<typename Space = Z3i::Space, typename KSpace = Z3i::KSpace>
void DGtal::PolyscopeViewer< Space, KSpace >::registerPointCloud ( const std::string &  n,
const DisplayData< typename Space::RealPoint > &  d 
)
private

◆ registerSurfaceMesh()

template<typename Space = Z3i::Space, typename KSpace = Z3i::KSpace>
void DGtal::PolyscopeViewer< Space, KSpace >::registerSurfaceMesh ( const std::string &  n,
const DisplayData< typename Space::RealPoint > &  d 
)
private

◆ registerVolumeMesh()

template<typename Space = Z3i::Space, typename KSpace = Z3i::KSpace>
void DGtal::PolyscopeViewer< Space, KSpace >::registerVolumeMesh ( const std::string &  n,
const DisplayData< typename Space::RealPoint > &  d 
)
private

◆ renderClippingPlanes()

template<typename Space = Z3i::Space, typename KSpace = Z3i::KSpace>
void DGtal::PolyscopeViewer< Space, KSpace >::renderClippingPlanes ( )

◆ renderNewData()

template<typename Space = Z3i::Space, typename KSpace = Z3i::KSpace>
void DGtal::PolyscopeViewer< Space, KSpace >::renderNewData ( )
overridevirtual

Renders newly added data.

Implements DGtal::Display3D< Space, KSpace >.

Referenced by DGtal::PolyscopeViewer< Space, KSpace >::show().

◆ setCallback()

template<typename Space = Z3i::Space, typename KSpace = Z3i::KSpace>
void DGtal::PolyscopeViewer< Space, KSpace >::setCallback ( typename Display3D< Space, KSpace >::Callback callback)
override

Referenced by main().

◆ setGeneralProperties()

template<typename Space = Z3i::Space, typename KSpace = Z3i::KSpace>
void DGtal::PolyscopeViewer< Space, KSpace >::setGeneralProperties ( polyscope::Structure *  s,
const DisplayData< typename Space::RealPoint > &  d 
)
private

◆ show()

template<typename Space = Z3i::Space, typename KSpace = Z3i::KSpace>
void DGtal::PolyscopeViewer< Space, KSpace >::show ( )
inlineoverridevirtual

Starts the event loop and display of elements.

It is recommended that this functions calls renderNewData

Implements DGtal::Display3D< Space, KSpace >.

Examples
dec/exampleDECSurface.cpp, dec/exampleDiscreteExteriorCalculusSolve.cpp, geometry/curves/exampleArithDSS3d.cpp, geometry/curves/exampleGridCurve3d-2.cpp, geometry/curves/exampleGridCurve3d.cpp, geometry/surfaces/dvcm-3d.cpp, geometry/volumes/distance/distancetransform3D.cpp, geometry/volumes/distance/exampleFMM3D.cpp, geometry/volumes/fullConvexityAnalysis3D.cpp, geometry/volumes/fullConvexityThinning3D.cpp, io/digitalSetFromPointList.cpp, io/digitalSetFromVol.cpp, io/meshFromOFF.cpp, io/viewDualSurface.cpp, io/viewers/demo-kernel-2.cpp, io/viewers/viewer3D-1-points.cpp, io/viewers/viewer3D-2-sets.cpp, io/viewers/viewer3D-3-objects.cpp, io/viewers/viewer3D-4-modes.cpp, io/viewers/viewer3D-5-colors.cpp, io/viewers/viewer3D-6-clipping.cpp, io/viewers/viewer3D-7-planes.cpp, io/viewers/viewer3D-7-stdplane.cpp, io/viewers/viewer3D-8-2DSliceImages.cpp, io/viewers/viewer3D-9-3Dimages.cpp, shapes/exampleSurfaceMesh.cpp, shapes/mesh3DConstructionAndVisualisation.cpp, shapes/viewMarchingCubes.cpp, shapes/viewPolygonalMarchingCubes.cpp, topology/3dBorderExtractionImg.cpp, topology/3dKSSurfaceExtraction.cpp, topology/digitalSurfaceSlice.cpp, topology/frontierAndBoundary.cpp, topology/homotopicThinning3D.cpp, topology/volBreadthFirstTraversal.cpp, and tutorial-examples/volDTGranulo.cpp.

Definition at line 68 of file PolyscopeViewer.h.

68 {
71
72 polyscope::show();
73 }
void renderNewData() override
Renders newly added data.

References DGtal::PolyscopeViewer< Space, KSpace >::renderClippingPlanes(), and DGtal::PolyscopeViewer< Space, KSpace >::renderNewData().

Referenced by laplacian(), main(), main(), TEST_CASE(), testBallQuad(), and testLocalConvolutionNormalVectorEstimator().

Field Documentation

◆ BallToCubeRatio

template<typename Space = Z3i::Space, typename KSpace = Z3i::KSpace>
constexpr double DGtal::PolyscopeViewer< Space, KSpace >::BallToCubeRatio = 0.025
staticconstexpr

Definition at line 89 of file PolyscopeViewer.h.

◆ VectorScale

template<typename Space = Z3i::Space, typename KSpace = Z3i::KSpace>
constexpr double DGtal::PolyscopeViewer< Space, KSpace >::VectorScale = 1. / 30.
staticconstexpr

Definition at line 90 of file PolyscopeViewer.h.


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