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);
}
Exemplo n.º 3
0
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);
}
Exemplo n.º 4
0
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);
}
Exemplo n.º 7
0
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);
}
Exemplo n.º 9
0
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);
}
Exemplo n.º 10
0
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;
}
Exemplo n.º 11
0
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);
}