42 template <
typename TKSpace,
typename TImage>
48 template <
typename TKSpace,
typename TImage>
53 : myPtrSpace( &aSpace ), myPtrImage( &anImage ),
57 template <
typename TKSpace,
typename TImage>
61 : myPtrSpace( other.myPtrSpace ), myPtrImage( other.myPtrImage ),
62 myLabel1( other.myLabel1 )
65 template <
typename TKSpace,
typename TImage>
80 template <
typename TKSpace,
typename TImage>
86 Dimension orthDir = myPtrSpace->sOrthDir( s );
87 bool orthDirect = myPtrSpace->sDirect( s, orthDir );
88 SCell int_spel = myPtrSpace->sIncident( s, orthDir, orthDirect );
89 Point int_p = myPtrSpace->sCoords( int_spel );
91 out_p[ orthDir ] += orthDirect ? -1 : 1;
92 return ( (*myPtrImage)( int_p ) == myLabel1 )
93 && ( (*myPtrImage)( out_p ) != myLabel1 );
96 template <
typename TKSpace,
typename TImage>
102 out <<
"[BoundaryPredicate]";
105 template <
typename TKSpace,
typename TImage>
125 template <
typename TKSpace,
typename TImage>
131 object.selfDisplay ( out );