DGtal  1.5.beta
SurfelAdjacency.h
1 
17 #pragma once
18 
31 #if defined(SurfelAdjacency_RECURSES)
32 #error Recursive header files inclusion detected in SurfelAdjacency.h
33 #else // defined(SurfelAdjacency_RECURSES)
35 #define SurfelAdjacency_RECURSES
36 
37 #if !defined SurfelAdjacency_h
39 #define SurfelAdjacency_h
40 
42 // Inclusions
43 #include <iostream>
44 #include <boost/array.hpp>
45 
46 #include "DGtal/base/Common.h"
48 
49 namespace DGtal
50 {
51 
53  // class SurfelAdjacency
64  template <Dimension dim>
66  {
67  // ----------------------- Standard services ------------------------------
68  public:
69 
74 
84  SurfelAdjacency( bool int2ext );
85 
90  SurfelAdjacency ( const SurfelAdjacency & other );
91 
98 
109  void setAdjacency( Dimension i, Dimension j, bool int2ext );
110 
122  bool getAdjacency( Dimension i, Dimension j ) const;
123 
124  // ----------------------- Interface --------------------------------------
125  public:
126 
131  void selfDisplay ( std::ostream & out ) const;
132 
137  bool isValid() const;
138 
139  // ------------------------- Private Datas --------------------------------
140  private:
141 
147  boost::array<bool, dim*dim> myInt2Ext;
148 
149  // ------------------------- Hidden services ------------------------------
150  protected:
151 
152 
153  // ------------------------- Internals ------------------------------------
154  private:
155 
156  }; // end of class SurfelAdjacency
157 
158 
165  template <Dimension dim>
166  std::ostream&
167  operator<< ( std::ostream & out, const SurfelAdjacency<dim> & object );
168 
169 
170 } // namespace DGtal
171 
172 
174 // Includes inline functions.
175 #include "DGtal/topology/SurfelAdjacency.ih"
176 
177 // //
179 
180 #endif // !defined SurfelAdjacency_h
181 
182 #undef SurfelAdjacency_RECURSES
183 #endif // else defined(SurfelAdjacency_RECURSES)
Aim: Represent adjacencies between surfel elements, telling if it follows an interior to exterior ord...
SurfelAdjacency(const SurfelAdjacency &other)
SurfelAdjacency & operator=(const SurfelAdjacency &other)
SurfelAdjacency(bool int2ext)
void setAdjacency(Dimension i, Dimension j, bool int2ext)
boost::array< bool, dim *dim > myInt2Ext
bool getAdjacency(Dimension i, Dimension j) const
void selfDisplay(std::ostream &out) const
DGtal is the top-level namespace which contains all DGtal functions and types.
std::ostream & operator<<(std::ostream &out, const ATu0v1< TKSpace, TLinearAlgebra > &object)
DGtal::uint32_t Dimension
Definition: Common.h:136