DGtal 1.3.0
Loading...
Searching...
No Matches
Functions
testBall3DSurface.cpp File Reference
#include <iostream>
#include "DGtal/shapes/parametric/Ball3D.h"
#include "DGtal/helpers/StdDefs.h"
#include "DGtal/io/Color.h"

Go to the source code of this file.

Functions

int main (int, char **)
 

Detailed Description

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.

Author
Anis Benyoub (anis..nosp@m.beny.nosp@m.oub@i.nosp@m.nsa-.nosp@m.lyon..nosp@m.fr )
Date
2012/°6/05

Functions for testing class Ball3D.

This file is part of the DGtal library.

Definition in file testBall3DSurface.cpp.

Function Documentation

◆ main()

int main ( int  ,
char **   
)

Definition at line 45 of file testBall3DSurface.cpp.

46{
47
48
49
50 // -------------------------------------------------------------------------- Type declaring
52 typedef Ball3D<Space> EuclideanShape;
53
54 bool test = true;
55
56 // -------------------------------------------------------------------------- Creating the shape
57 double radius = 10;
58 RealPoint c1(0, 0, 0 );
59 EuclideanShape ball1( c1, radius );
60
61 trace.beginBlock("Arc length computing");
62 double arcExp = ball1.arclength( make_pair(0.0,0.0), make_pair(0.0,M_PI) ,500 );
63 double arcTheo = M_PI*radius;
64 trace.info() <<"Computed arc length: "<< arcExp <<endl;
65 trace.info() << "Theoric arc length: "<< arcTheo << endl;
66 if(fabs(arcTheo- arcExp) < 0.1)
67 {
68 trace.info() <<"The arc length has a good value"<<endl;
69 }
70 else
71 {
72 test=false;
73 }
75
76 trace.beginBlock("Surface length computing");
77 double surfaceExp = ball1.surfacelength( make_pair(0.0,0.0), make_pair(M_PI*2,M_PI) ,500 );
78 double surfaceTheo = 4.0*M_PI*radius*radius;
79 trace.info() <<"Computed surface length: "<< surfaceExp <<endl;
80 trace.info() << "Theoric surface length: "<< surfaceTheo << endl;
81 if(fabs(surfaceExp- surfaceTheo) < 0.1)
82 {
83 trace.info() <<"The surface has a good value"<<endl;
84 }
85 else
86 {
87 test=false;
88 }
90
91
92 if (test)
93 return 0;
94 else
95 return -1;
96}
Aim: Model of the concept StarShaped3D represents any Sphere in the space.
Definition: Ball3D.h:61
Aim: Implements basic operations that will be used in Point and Vector classes.
Definition: PointVector.h:593
void beginBlock(const std::string &keyword="")
std::ostream & info()
double endBlock()
Space::RealPoint RealPoint
Definition: StdDefs.h:170
Trace trace
Definition: Common.h:154
bool test(const I &itb, const I &ite)

References DGtal::Trace::beginBlock(), DGtal::Trace::endBlock(), DGtal::Trace::info(), test(), and DGtal::trace.