34 #include "DGtal/images/ImageLinearCellEmbedder.h"
45 template <
typename TKSpace,
typename TImage,
typename TEmbedder >
51 template <
typename TKSpace,
typename TImage,
typename TEmbedder >
55 : myPtrK( 0 ), myPtrImage( 0 ), myPtrEmbedder( 0 )
58 template <
typename TKSpace,
typename TImage,
typename TEmbedder >
62 : myPtrK( other.myPtrK ),
63 myPtrImage( other.myPtrImage ),
64 myPtrEmbedder( other.myPtrEmbedder ),
65 myIsoValue( other.myIsoValue )
68 template <
typename TKSpace,
typename TImage,
typename TEmbedder >
84 template <
typename TKSpace,
typename TImage,
typename TEmbedder >
94 myIsoValue = iso_value;
97 template <
typename TKSpace,
typename TImage,
typename TEmbedder >
103 ASSERT( myPtrEmbedder != 0 );
104 return myPtrEmbedder->embed( p );
107 template <
typename TKSpace,
typename TImage,
typename TEmbedder >
113 return this->operator()( cell );
116 template <
typename TKSpace,
typename TImage,
typename TEmbedder >
122 ASSERT( this->isValid() );
124 Point p1( myPtrK->uCoords( cell ) );
127 for (
typename KSpace::DirIterator qit = myPtrK->uOrthDirs( cell );
132 Point p2( p1 ); --p2[ k ];
136 * ( x2[ k ] - x1[ k ] )
142 template <
typename TKSpace,
typename TImage,
typename TEmbedder >
148 ASSERT( this->isValid() );
150 Point p1( myPtrK->sCoords( scell ) );
153 for (
typename KSpace::DirIterator qit = myPtrK->sOrthDirs( scell );
158 Point p2( p1 ); --p2[ k ];
162 * ( x2[ k ] - x1[ k ] )
176 template <
typename TKSpace,
typename TImage,
typename TEmbedder >
182 out <<
"[ImageLinearCellEmbedder]";
189 template <
typename TKSpace,
typename TImage,
typename TEmbedder >
195 return ( myPtrK != 0 ) && ( myPtrImage != 0 ) && ( myPtrEmbedder != 0 );
203 template <
typename TKSpace,
typename TImage,
typename TEmbedder >
209 object.selfDisplay( out );