DGtal
0.6.devel
Main Page
Related Pages
Modules
Namespaces
Data Structures
Examples
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Groups
Pages
src
DGtal
shapes
parametric
StarShaped3D.h
1
17
#pragma once
18
31
#if defined(StarShaped3D_RECURSES)
32
#error Recursive header files inclusion detected in StarShaped3D.h
33
#else // defined(StarShaped3D_RECURSES)
34
35
#define StarShaped3D_RECURSES
36
37
#if !defined StarShaped3D_h
38
39
#define StarShaped3D_h
40
42
// Inclusions
43
#include <iostream>
44
#include "DGtal/base/Common.h"
45
#include "DGtal/kernel/NumberTraits.h"
47
48
namespace
DGtal
49
{
50
52
// template class StarShaped3D
70
template
<
typename
TSpace>
71
class
StarShaped3D
72
{
73
74
public
:
75
typedef
TSpace
Space
;
76
typedef
typename
Space::RealPoint
RealPoint
;
77
typedef
pair<double,double>
AngularCoordinates
;
78
82
StarShaped3D
()
83
{}
84
88
~StarShaped3D
();
89
90
// ------------------------- Implemented services -------------------------
91
public
:
95
virtual
RealPoint
interiorPoint
()
const
96
{
97
return
center
();
98
}
99
100
// ------------------------- Abstract services ----------------------------
101
public
:
102
107
virtual
RealPoint
getLowerBound
()
const
= 0;
108
113
virtual
RealPoint
getUpperBound
()
const
= 0;
114
118
virtual
RealPoint
center
()
const
= 0;
119
126
virtual
AngularCoordinates
parameter
(
const
RealPoint & p )
const
= 0;
127
135
virtual
RealPoint
x
(
const
AngularCoordinates t )
const
= 0;
136
143
virtual
RealPoint
gradient
(
const
AngularCoordinates t)
const
= 0;
144
151
virtual
RealPoint
rt
(
const
AngularCoordinates t)
const
= 0;
152
153
154
161
virtual
RealPoint
rp
(
const
AngularCoordinates t)
const
= 0;
162
163
171
virtual
RealPoint
rtt
(
const
AngularCoordinates t)
const
= 0;
172
173
174
182
virtual
RealPoint
rpp
(
const
AngularCoordinates t)
const
= 0;
183
191
virtual
RealPoint
rtp
(
const
AngularCoordinates t)
const
= 0;
192
193
194
195
196
// ------------------------- star-shaped services -------------------------
197
public
:
198
199
206
virtual
bool
isInside
(
const
RealPoint & p )
const
;
207
208
216
virtual
Orientation
orientation
(
const
RealPoint &p)
const
;
217
218
226
/*
227
virtual RealPoint tangent( AngularCoordinates t ) const;
228
*/
229
230
231
232
240
virtual
RealPoint
normal
( AngularCoordinates t )
const
;
241
250
virtual
double
gaussianCurvature
( AngularCoordinates t)
const
;
251
252
261
virtual
double
meanCurvature
( AngularCoordinates t)
const
;
262
263
274
virtual
double
arclength
( AngularCoordinates t1,
275
AngularCoordinates t2,
276
unsigned
int
nb )
const
;
277
278
289
virtual
double
surfacelength
( AngularCoordinates t1,
290
AngularCoordinates t2,
291
unsigned
int
nb )
const
;
292
293
294
295
// ----------------------- Interface --------------------------------------
296
public
:
297
302
void
selfDisplay
( std::ostream & out )
const
;
303
308
bool
isValid
()
const
;
309
310
// ------------------------- Protected Datas ------------------------------
311
private
:
312
// ------------------------- Private Datas --------------------------------
313
private
:
314
315
// ------------------------- Hidden services ------------------------------
316
protected
:
317
322
//StarShaped3D();
323
324
private
:
325
332
StarShaped3D
&
operator=
(
const
StarShaped3D
& other );
333
334
// ------------------------- Internals ------------------------------------
335
private
:
336
337
};
// end of class StarShaped3D
338
339
346
template
<
typename
T>
347
std::ostream&
348
operator<< ( std::ostream & out, const StarShaped3D<T> & object );
349
350
}
// namespace DGtal
351
352
354
// Includes inline functions.
355
#include "StarShaped3D.ih"
356
357
// //
359
360
#endif // !defined StarShaped3D_h
361
362
#undef StarShaped3D_RECURSES
363
#endif // else defined(StarShaped3D_RECURSES)
Generated on Wed Dec 19 2012 19:10:35 for DGtal by
1.8.1.1