
modifié : CMakeListsOTB.txt modifié : LICENSE modifié : MakefileNoOTB modifié : Readme.html modifié : Readme.txt modifié : include/Appli/Option.hpp modifié : include/Appli/Selected.hpp modifié : include/Appli/Selected.tpp modifié : include/ArrayTree/ArrayTreeBuilder.hpp modifié : include/ArrayTree/ArrayTreeBuilder.tpp modifié : include/ArrayTree/Border.hpp modifié : include/ArrayTree/Border.tpp modifié : include/ArrayTree/GraphWalker.hpp modifié : include/ArrayTree/GraphWalker.tpp modifié : include/ArrayTree/Leader.hpp modifié : include/ArrayTree/Leader.tpp modifié : include/ArrayTree/Weight.hpp modifié : include/ArrayTree/Weight.tpp modifié : include/ArrayTree/triskeleArrayTreeBase.hpp modifié : include/ArrayTree/triskeleArrayTreeBase.tpp modifié : include/ArrayTree/triskeleSort.hpp modifié : include/ArrayTree/triskeleSort.tpp modifié : include/AttributeProfiles.hpp modifié : include/AttributeProfiles.tpp modifié : include/Attributes/AreaAttributes.hpp modifié : include/Attributes/AreaAttributes.tpp modifié : include/Attributes/AverageAttributes.hpp modifié : include/Attributes/AverageAttributes.tpp modifié : include/Attributes/MoIAttributes.hpp modifié : include/Attributes/MoIAttributes.tpp modifié : include/Attributes/SDAttributes.hpp modifié : include/Attributes/SDAttributes.tpp modifié : include/Attributes/WeightAttributes.hpp modifié : include/Attributes/WeightAttributes.tpp modifié : include/Attributes/XYAttributes.hpp modifié : include/Attributes/XYAttributes.tpp modifié : include/CompAttribute.hpp modifié : include/CompAttribute.tpp modifié : include/IImage.hpp modifié : include/IImage.tpp modifié : include/QuadTree/QuadTreeBuilder.hpp modifié : include/Tree.hpp modifié : include/Tree.tpp modifié : include/TreeBuilder.hpp modifié : include/TreeBuilder.tpp modifié : include/TreeStats.hpp modifié : include/TreeStats.tpp modifié : include/XMLTree/XMLTreeBuilder.hpp modifié : include/triskeleBase.hpp modifié : include/triskeleBase.tpp modifié : include/triskeleDealThreads.hpp modifié : include/triskeleDealThreads.tpp modifié : include/triskeleDebug.hpp modifié : include/triskeleGdalGetType.hpp modifié : otb-module.cmake modifié : src/Appli/Option.cpp modifié : src/Appli/Selected.cpp modifié : src/ArrayTree/triskeleArrayTreeBase.cpp modifié : src/CMakeLists.txt modifié : src/IImage.cpp modifié : src/PerfArrayTreeBuilder.cpp modifié : src/QuadTree/QuadTreeBuilder.cpp modifié : src/TestArrayTreeBuilder.cpp modifié : src/Tree.cpp modifié : src/TreeStats.cpp modifié : src/XMLTree/XMLTreeBuilder.cpp modifié : src/apGenerator.cpp modifié : src/triskeleBase.cpp modifié : src/triskeleDebug.cpp
82 lines
2.3 KiB
C++
82 lines
2.3 KiB
C++
#ifndef _OTB_TRISKELE_ARRAY_TREE_BORDER_HPP
|
|
#define _OTB_TRISKELE_ARRAY_TREE_BORDER_HPP
|
|
|
|
#include <algorithm>
|
|
|
|
#include "triskeleBase.hpp"
|
|
#include "triskeleArrayTreeBase.hpp"
|
|
|
|
namespace otb {
|
|
namespace triskele {
|
|
namespace arrayTree {
|
|
|
|
/** Border */
|
|
class Border {
|
|
public:
|
|
/*! Retourne le nombre de pixels à l'aide de la taille */
|
|
static inline DimImg getPixelsCount (const Size &size);
|
|
|
|
/*! Retourne la taille que doit faire le tableau simplifié */
|
|
static inline DimImg getMapLength (DimImg pixelsCount);
|
|
|
|
/*! Vérifie si un index est sur la map ou une bordure, en se basant sur le bit de l'index idx de la map */
|
|
inline bool isBorder (DimImg idx) const;
|
|
|
|
/*! Vérifie si un point est sur la map ou une bordure en appelant la méthode précédente après avoir converti le point en index */
|
|
inline bool isBorder (const Point &p) const;
|
|
|
|
/*! Supprime toutes les occurences de bordure à l'index idx */
|
|
inline void clearBorder (DimImg idx);
|
|
|
|
/*! Supprime toutes les occurences de bordure en appelant la méthode précédente après avoir converti le point en index */
|
|
inline void clearBorder (const Point &p);
|
|
|
|
/*! Rajoute une occurence de bordure à l'index indiqué */
|
|
inline void setBorder (DimImg idx);
|
|
|
|
/*! Rajoute une occurence de bordure en appelant la méthode précédente après avoir converti le point en index */
|
|
inline void setBorder (const Point &p);
|
|
|
|
/*! Construit par défault sans aucune bordure */
|
|
inline Border ();
|
|
|
|
/*! Construit Border, les valeurs de map dépendent de defaultVal */
|
|
inline Border (const Size &size, bool defaultVal);
|
|
inline Border (const Border &border, const Rect &tile);
|
|
inline ~Border ();
|
|
|
|
inline void reset (bool defaultVal);
|
|
|
|
inline const Size &getSize () const;
|
|
|
|
/*! Compte le nombre de pixels considérés comme de la bordure */
|
|
inline DimImg borderCount ();
|
|
|
|
private:
|
|
/*! Nombre de pixels dans l'image */
|
|
DimImg pixelsCount;
|
|
|
|
/*! Taille du tableau "simplifié" des pixels */
|
|
DimImg mapLength;
|
|
|
|
/*! Dimensions de l'image */
|
|
Size size;
|
|
|
|
/*! Tableau "simplifié" des pixels */
|
|
vector<uint8_t> map;
|
|
|
|
bool defaultVal;
|
|
|
|
inline void createMap ();
|
|
|
|
friend inline ostream &operator << (ostream &out, const Border &border);
|
|
};
|
|
|
|
#include "Border.tpp"
|
|
|
|
} //arrayTree
|
|
} // triskele
|
|
} // otb
|
|
|
|
#endif // _OTB_TRISKELE_ARRAY_TREE_BORDER_HPP
|