int main() { Board3DTo2D<Space, KSpace> board; Point p1( 0, 0, 0 ); Point p2( 10, 10 , 10 ); Domain domain( p1, p2 ); board << domain; DigitalSet shape_set( domain ); Shapes<Domain>::addNorm1Ball( shape_set, Point( 5, 5, 5 ), 2 ); Shapes<Domain>::addNorm2Ball( shape_set, Point( 3, 3, 3 ), 2 ); shape_set.erase(Point(3,3,3)); shape_set.erase(Point(6,6,6)); board << shape_set; board << CameraPosition(5.000000, 5.000000, 29.893368) << CameraDirection(0.000000, 0.000000, -1.000000) << CameraUpVector(0.000000, 1.000000, 0.000000); //board << SetMode3D(board.className(), "WireFrameMode"); board.saveCairo("dgtalBoard3DTo2D-2-sets.png", Board3DTo2D<Space, KSpace>::CairoPNG, 600, 400); }
int main() { Board3DTo2D<Space, KSpace> board; Point p1( 0, 0, 0 ); Point p2( 10, 10 , 10 ); Domain domain( p1, p2 ); DigitalSet shape_set( domain ); Shapes<Domain>::addNorm1Ball( shape_set, Point( 5, 5, 5 ), 2 ); Shapes<Domain>::addNorm2Ball( shape_set, Point( 3, 3, 3 ), 2 ); board << CustomColors3D(Color(250, 200,0, 100),Color(250, 200,0, 25)); board << shape_set; Object6_18 shape( dt6_18, shape_set ); board << SetMode3D( shape.className(), "DrawAdjacencies" ); board << shape; Object18_6 shape2( dt18_6, shape_set ); board << SetMode3D( shape2.className(), "DrawAdjacencies" ); //board << shape2; board << CameraPosition(4.000000, 4.000000, 17.578199) << CameraDirection(0.000000, 0.000000, -1.000000) << CameraUpVector(0.000000, 1.000000, 0.000000); //board << SetMode3D(board.className(), "WireFrameMode"); board.saveCairo("dgtalBoard3DTo2D-3-objects.png", Board3DTo2D<Space, KSpace>::CairoPNG, 600, 400); }
int main( int argc, char** argv ) { Board3DTo2D viewer; Point p1( 0, 0, 0 ); Point p2( 10, 10 , 10 ); Domain domain( p1, p2 ); viewer << domain; DigitalSet shape_set( domain ); Shapes<Domain>::addNorm1Ball( shape_set, Point( 5, 5, 5 ), 2 ); Shapes<Domain>::addNorm2Ball( shape_set, Point( 3, 3, 3 ), 2 ); shape_set.erase(Point(3,3,3)); shape_set.erase(Point(6,6,6)); viewer << shape_set; viewer << CameraPosition(5.000000, 5.000000, 29.893368) << CameraDirection(0.000000, 0.000000, -1.000000) << CameraUpVector(0.000000, 1.000000, 0.000000); //viewer << SetMode3DCairo(viewer.styleName(), "WireFrameMode"); viewer.saveCairo("dgtalCairo-2-sets.png", Board3DTo2D::CairoPNG, 600, 400); }
int main() { Board3DTo2D<Space, KSpace> board; Point p1( -1, -1, -2 ); Point p2( 2, 2, 3 ); Domain domain( p1, p2 ); Point p3( 1, 1, 1 ); Point p4( 2, -1, 3 ); Point p5( -1, 2, 3 ); Point p6( 0, 0, 0 ); Point p0( 0, 2, 1 ); //board << SetMode3D( p1.className(), "Grid" ); board << p1 << p2 << p3 << p4 << p5 << p6 << p0; //board << SetMode3D(domain.className(), "PavingGrids"); board << domain; board << CameraPosition(0.500000, 0.500000, 11.274194) << CameraDirection(0.000000, 0.000000, -1.000000) << CameraUpVector(0.000000, 1.000000, 0.000000); //board << SetMode3D(board.className(), "WireFrameMode"); board.saveCairo("dgtalBoard3DTo2D-4-modes.png", Board3DTo2D<Space, KSpace>::CairoPNG, 600, 400); }
int main() { Point p1( 0, 0, 0 ); Point p2( 5, 5 ,5 ); Point p3( 2, 3, 4 ); Domain domain( p1, p2 ); Board3DTo2D<Space, KSpace> board; board << domain; board << p1 << p2 << p3; board << CameraPosition(2.500000, 2.500000, 16.078199) << CameraDirection(0.000000, 0.000000, -1.000000) << CameraUpVector(0.000000, 1.000000, 0.000000); //board << CameraZNearFar(4.578200, 22.578199); board << SetMode3D(board.className(), "WireFrameMode"); board.saveCairo("dgtalBoard3DTo2D-1-points.png", Board3DTo2D<Space, KSpace>::CairoPNG, 600*2, 400*2); }
int main( int argc, char** argv ) { typedef DGtal::SpaceND<3, DGtal::int32_t> MySpace; typedef MySpace::Point MyPoint; typedef HyperRectDomain<MySpace> MyDomain; MyPoint p1( 0, 0, 0 ); MyPoint p2( 5, 5 ,5 ); MyPoint p3( 2, 3, 4 ); MyDomain domain( p1, p2 ); Board3DTo2D viewer; viewer << domain; viewer << p1 << p2 << p3; viewer << CameraPosition(2.500000, 2.500000, 16.078199) << CameraDirection(0.000000, 0.000000, -1.000000) << CameraUpVector(0.000000, 1.000000, 0.000000); viewer << SetMode3D(viewer.styleName(), "WireFrameMode"); viewer.saveCairo("dgtalCairo-0-demo-kernel-2.png", Board3DTo2D::CairoPNG, 600, 400); }
int main() { Board3DTo2D<Space, KSpace> board; Point p1( 0, 0, 0 ); Point p2( 20, 20, 20 ); Domain domain(p1, p2); DigitalSet shape_set( domain ); Shapes<Domain>::addNorm2Ball( shape_set, Point( 10, 10, 10 ), 7 ); board << SetMode3D( shape_set.className(), "Both" ); board << shape_set; board << CustomColors3D(Color(250, 200,0, 100),Color(250, 200,0, 20)); board << SetMode3D( p1.className(), "Paving" ); board << CameraPosition(10.000000, 10.000000, 41.682465) << CameraDirection(0.000000, 0.000000, -1.000000) << CameraUpVector(0.000000, 1.000000, 0.000000); //board << SetMode3D(board.className(), "WireFrameMode"); board.saveCairo("dgtalBoard3DTo2D-6.png", Board3DTo2D<Space, KSpace>::CairoPNG, 600, 400); }
int main() { typedef DGtal::SpaceND<3, DGtal::int32_t> MySpace; typedef MySpace::Point MyPoint; typedef HyperRectDomain<MySpace> MyDomain; MyPoint p1( 0, 0, 0 ); MyPoint p2( 5, 5 ,5 ); MyPoint p3( 2, 3, 4 ); MyDomain domain( p1, p2 ); Board3DTo2D board; board << domain; board << p1 << p2 << p3; board << CameraPosition(2.500000, 2.500000, 16.078199) << CameraDirection(0.000000, 0.000000, -1.000000) << CameraUpVector(0.000000, 1.000000, 0.000000); board << SetMode3D(board.className(), "WireFrameMode"); board.saveCairo("dgtalBoard3DTo2D-0-demo-kernel-2.png", Board3DTo2D::CairoPNG, 600, 400); }
int main( int argc, char** argv ) { Board3DTo2D viewer; Point p1( 0, 0, 0 ); Point p2( 20, 20, 20 ); Domain domain(p1, p2); DigitalSet shape_set( domain ); Shapes<Domain>::addNorm2Ball( shape_set, Point( 10, 10, 10 ), 7 ); viewer << SetMode3D( shape_set.styleName(), "Both" ); viewer << shape_set; viewer << CustomColors3D(Color(250, 200,0, 100),Color(250, 200,0, 20)); viewer << SetMode3D( p1.styleName(), "Paving" ); viewer << CameraPosition(10.000000, 10.000000, 41.682465) << CameraDirection(0.000000, 0.000000, -1.000000) << CameraUpVector(0.000000, 1.000000, 0.000000); //viewer << SetMode3DCairo(viewer.styleName(), "WireFrameMode"); viewer.saveCairo("dgtalCairo-6.png", Board3DTo2D::CairoPNG, 600, 400); }
int main( int argc, char** argv ) { typedef PointVector<3,int> Point; typedef std::vector<Point>::iterator Iterator; typedef StandardDSS6Computer<Iterator,int,4> SegmentComputer; typedef GreedySegmentation<SegmentComputer> Decomposition; string inputFilename = examplesPath + "samples/sinus.dat"; vector<Point> sequence = PointListReader<Point>::getPointsFromFile(inputFilename); SegmentComputer algo; Decomposition theDecomposition(sequence.begin(), sequence.end(), algo); /////////////////////////////////// //display bool flag = true; Point p; #ifdef WITH_VISU3D_QGLVIEWER QApplication application(argc,argv); Viewer3D<> viewer; viewer.show(); viewer << SetMode3D(p.className(), "Grid"); #endif #ifdef WITH_CAIRO Board3DTo2D<> boardViewer; boardViewer << SetMode3D(p.className(), "Grid"); boardViewer << CameraPosition(-23.500000, 12.500000, 42.078199) << CameraDirection(0.7200000, -0.280000, -0.620000) << CameraUpVector(0.1900000, 0.950000, -0.200000); boardViewer << CameraZNearFar(21.578200, 105.578199); #endif unsigned int c = 0; Decomposition::SegmentComputerIterator i = theDecomposition.begin(); for ( ; i != theDecomposition.end(); ++i) { SegmentComputer currentSegmentComputer(*i); #ifdef WITH_VISU3D_QGLVIEWER viewer << SetMode3D(currentSegmentComputer.className(), "Points"); viewer << currentSegmentComputer; viewer << SetMode3D(currentSegmentComputer.className(), "BoundingBox"); viewer << currentSegmentComputer; #endif #ifdef WITH_CAIRO boardViewer << SetMode3D(currentSegmentComputer.className(), "Points"); boardViewer << currentSegmentComputer; boardViewer << SetMode3D(currentSegmentComputer.className(), "BoundingBox"); boardViewer << currentSegmentComputer; #endif c++; } #ifdef WITH_VISU3D_QGLVIEWER viewer << Viewer3D<>::updateDisplay; flag = application.exec(); #endif #ifdef WITH_CAIRO boardViewer.saveCairo("exampleArithDSS3d.pdf", Board3DTo2D<>::CairoPDF, 600*2, 400*2); #endif return flag; }
int main() { Board3DTo2D viewer; KSpace K; Point plow(0,0,0); Point pup(3,3,2); Domain domain( plow, pup ); K.init( plow, pup, true ); //viewer << SetMode3D( domain.styleName(), "Paving" ); //viewer << domain; // Drawing cell of dimension 3 Cell voxelA = K.uCell(Point(1,1,1)); SCell voxelB = K.sCell(Point(1,1,3)); viewer << voxelB << voxelA; // drawing cells of dimension 2 SCell surfelA = K.sCell( Point( 2, 1, 3 ) ); SCell surfelB = K.sCell( Point( 1, 0, 1 ), false ); Cell surfelC = K.uCell( Point( 1, 2, 1 ) ); SCell surfelD = K.sCell( Point( 1, 1, 0 ) ); Cell surfelE = K.uCell( Point( 1, 1, 2 ) ); viewer << surfelA << surfelB << surfelC << surfelD << surfelE; Cell linelA = K.uCell(Point(2,1 ,2)); SCell linelB = K.sCell(Point(2,2 ,1)); SCell linelC = K.sCell(Point(1,2 ,2), false); viewer << linelA << linelB << linelC; Cell center(Point(5,5,5)); // Testing display of oriented surfels: SCell ssurfelXZ = K.sCell( Point( 5, 6, 5 ), false ); SCell ssurfelXY = K.sCell( Point( 5, 5, 6 ), false ); SCell ssurfelZY = K.sCell( Point( 6, 5, 5 ), false ); viewer << center; SCell ssurfelXZo = K.sCell( Point( 5, 4, 5 ), false ); SCell ssurfelXYo = K.sCell( Point( 5, 5, 4 ), false ); SCell ssurfelZYo = K.sCell( Point( 4, 5, 5 ), false ); viewer << ssurfelXZ << ssurfelXY << ssurfelZY; viewer << ssurfelXZo << ssurfelXYo << ssurfelZYo; // Testing display oriented pointels Cell pointelA = K.uCell(Point(2, 2, 2)); SCell pointelB = K.sCell(Point(4, 4, 4), true); SCell pointelC = K.sCell(Point(6, 4, 4), false); SCell linelAC = K.sCell(Point(5, 4, 4), false); viewer << pointelA << pointelB << pointelC << linelAC; /*viewer << CameraPosition(2.69044, 1.73705, -1.89961) << CameraDirection(-0.515153, -0.212857, 0.830247) << CameraUpVector(0.48806, -0.869135, 0.0800053);*/ viewer << CameraPosition(3.49239, 3.04746, -1.40276) << CameraDirection(-0.605129, -0.454197, 0.653853) << CameraUpVector(0.516135, -0.84913, -0.112173); //viewer << SetMode3D(viewer.styleName(), "WireFrameMode"); viewer.saveCairo("dgtalBoard3DTo2D-KSCell.png", Board3DTo2D::CairoPNG, 600, 400); }