File failed to load: https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.3/config/TeX-MML-AM_CHTML/MathJax.js
DGtal 2.0.0
geometry/curves/exampleGridCurve3d.cpp

This example shows how to use GridCurve as a sequence of 1-scells in a 3d Khalimsky space.

$ ./examples/geometry/curves/exampleGridCurve3d

Note that the data type you want to display may be passed as argument as follows:

$ ./examples/geometry/curves/exampleGridCurve3d points

This command line produces the following output (points are displayed as voxels):

3d digital curve
See also
Analysis of one-dimensional discrete structures
#include <iostream>
#include "DGtal/base/Common.h"
#include "DGtal/helpers/StdDefs.h"
#include "ConfigExamples.h"
#include "DGtal/geometry/curves/GridCurve.h"
#ifdef DGTAL_WITH_POLYSCOPE
#include "DGtal/io/viewers/PolyscopeViewer.h"
#endif
using namespace std;
using namespace DGtal;
using namespace Z3i;
int main( int argc, char** argv )
{
trace.info() << "exampleGridCurve3d: the type of data to be displayed "
<< "may be given as argument as follows: "
<< argv[0] << " scells" << endl;
trace.info() << "Available types are: gridcurve (default), scells, points, midpoints, arrows" << endl;
string type = (argc > 1) ? string(argv[1]) : "arrows";
trace.info() << "Chosen type: " << type << endl;
//curve
string sinus = examplesPath + "samples/sinus.dat";
// domain
Point lowerBound = Point::diagonal( -100 );
Point upperBound = Point::diagonal( 100 );
K3 ks; ks.init( lowerBound, upperBound, true );
GridCurve<K3> gc( ks );
fstream inputStream;
inputStream.open (sinus.c_str(), ios::in);
gc.initFromVectorStream(inputStream);
inputStream.close();
#ifdef DGTAL_WITH_POLYSCOPE
PolyscopeViewer<Space,K3> viewer(ks);
if (type == "gridcurve")
{
viewer << gc;
}
else if (type == "scells")
{
viewer << gc.getSCellsRange();
}
else if (type == "points")
{
viewer << gc.getPointsRange();
}
else if (type == "midpoints")
{
viewer << gc.getMidPointsRange();
}
else if (type == "arrows")
{
viewer << gc.getArrowsRange();
}
else
{
trace.info() << "Display type not known." << std::endl;
}
viewer.show();
#endif
return 0;
}
// //
Aim: describes, in a cellular space of dimension n, a closed or open sequence of signed d-cells (or d...
Definition GridCurve.h:173
SCellsRange getSCellsRange() const
Definition GridCurve.h:407
MidPointsRange getMidPointsRange() const
Definition GridCurve.h:430
bool initFromVectorStream(std::istream &in)
PointsRange getPointsRange() const
Definition GridCurve.h:418
ArrowsRange getArrowsRange() const
Definition GridCurve.h:442
bool init(const Point &lower, const Point &upper, bool isClosed)
Specifies the upper and lower bounds for the maximal cells in this space.
void show() override
Starts the event loop and display of elements.
Z3i this namespace gathers the standard of types for 3D imagery.
DGtal is the top-level namespace which contains all DGtal functions and types.
Trace trace
STL namespace.
int main()
Definition testBits.cpp:56
MyPointD Point