![]()  | 
  
    | 
 
#include <Geometry.h>


Public Member Functions | |
| Geometry (size_t width=0, size_t height=0, size_t channels=1, size_t alphas=0) | |
| Constructor with dimensions. Channel count is one by default, allowing construction with width and height.  | |
| Geometry (const Geometry &g) | |
| virtual const Geometry & | getGeometry () const | 
| virtual Geometry & | getGeometry () | 
| template<class T > | |
| void | setGeometry (const T &g) | 
| void | setGeometry (const Geometry &g) | 
| void | setGeometry (size_t width, size_t height, size_t imageChannelCount=1, size_t alphaChannelCount=0) | 
| operator const AreaGeometry & () const | |
| size_t | getWidth () const | 
| size_t | getHeight () const | 
| template<typename S , size_t N> | |
| void | setArea (const TupleBase< S, N > &a) | 
| void | setArea (size_t width, size_t height) | 
| size_t | getArea () const | 
| size_t | getChannelCount () const | 
| Set...  | |
| void | setChannelCount (size_t imageChannels, size_t alphaChannels) | 
| void | setChannelCount (const ChannelGeometry &geom) | 
| const size_t | getImageChannelCount () const | 
| void | setImageChannelCount (size_t imageChannels) | 
| const size_t | getAlphaChannelCount () const | 
| void | setAlphaChannelCount (size_t alphaChannels) | 
| bool | hasAlphaChannel () const | 
| size_t | getChannelIndex (const std::string &index) const | 
| Returns numeric channel index from "r", "g", "b", or "a" or a non-negative number in string format.   | |
| size_t | getVolume () const | 
| bool | isEmpty () const | 
| bool | operator== (const Geometry &g) const | 
| bool | operator!= (const Geometry &g) const | 
  Public Member Functions inherited from UniTuple< size_t, 4 > | |
| UniTuple (const TT &... args) | |
| UniTuple (const UniTuple< size_t, N > &t) | |
| Copy constructor.  | |
| UniTuple (std::initializer_list< S > l) | |
| tuple_t & | operator= (const tuple_t &t) | 
| tuple_t & | operator= (const value_type &value) | 
| tuple_t & | operator= (std::initializer_list< S > l) | 
| virtual const_iterator | begin () const override final | 
| virtual iterator | begin () override final | 
| virtual const_iterator | end () const override final | 
| virtual iterator | end () override final | 
| const tuple_t & | tuple () const | 
| tuple_t & | tuple () | 
| tuple_t & | tuple (const TT &... args) | 
| void | debug (std::ostream &ostr) const | 
  Public Member Functions inherited from TupleBase< S, N > | |
| const S & | at (size_t i) const | 
| Return const reference to element i.   | |
| const S & | operator[] (size_t i) const | 
| S & | at (size_t i) | 
| Return reference to element i.   | |
| S & | operator[] (size_t i) | 
| bool | operator== (const tuplebase_t &t) const | 
| Equality operator.  | |
| bool | operator== (const value_type &t) const | 
| Equality operator against single value.   | |
| bool | operator!= (const tuplebase_t &t) const | 
| Inequality operator.  | |
| template<class T > | |
| T & | toSequence (T &sequence) const | 
| Copy elements to a Sequence, like stl::list, stl::set or stl::vector.  | |
| void | set (const tuplebase_t &t) | 
| template<class T2 , size_t N2 = 2> | |
| void | set (const TupleBase< T2, N2 > &t) | 
| Assign tuple of different type and/or size.  | |
| void | set (const S &arg) | 
| template<typename ... SS> | |
| void | set (const S &arg, const SS &... rest) | 
| Set element(s).  | |
| template<typename T > | |
| void | set (std::initializer_list< T > l) | 
| template<class T > | |
| tuplebase_t & | assignSequence (T &sequence, bool LENIENT=false) | 
| Proposed for tuples only; derived classes should not shadow this.   | |
| void | fill (S i) | 
| Set all the elements to i.  | |
| void | clear () | 
| virtual void | toStreamFormatted (std::ostream &ostr, char separator=',') const | 
| virtual void | toStream (std::ostream &ostr) const | 
| std::string | toStr (char separator=',') const | 
| virtual void | updateTuple () | 
Public Attributes | |
| AreaGeometry | area | 
| ChannelGeometry | channels | 
Additional Inherited Members | |
  Public Types inherited from UniTuple< size_t, 4 > | |
| typedef size_t | value_type | 
| typedef UniTuple< size_t, N > | tuple_t | 
| typedef size_t * | iterator | 
| typedef const size_t * | const_iterator | 
  Public Types inherited from TupleBase< S, N > | |
| typedef TupleBase< S, N > | tuplebase_t | 
| typedef S | value_type | 
| typedef S * | iterator | 
| typedef S const * | const_iterator | 
  Static Public Member Functions inherited from TupleBase< S, N > | |
| static size_t | size () | 
| Return the number of elements.   | |
  Static Public Attributes inherited from UniTuple< size_t, 4 > | |
| static const size_t | tuple_size | 
  Static Public Attributes inherited from TupleBase< S, N > | |
| static const size_t | storageTypeSize = sizeof(S) | 
  Protected Member Functions inherited from UniTuple< size_t, 4 > | |
| UniTuple (UniTuple< size_t, N2 > &tuple, size_t i) | |
| size_t & | next () | 
  Protected Member Functions inherited from TupleBase< S, N > | |
| void | setIndexed (size_t i) | 
| Argument stack endpoint function; final step of variadic argument set(arg, ...) .  | |
| template<typename T2 , typename ... TT> | |
| void | setIndexed (size_t i, T2 arg, const TT &... rest) | 
| Worker called by set(T2 arg, T2 arg2, ...)  | |
  Protected Attributes inherited from UniTuple< size_t, 4 > | |
| const iterator | start | 
The basic idea is to encode dimensions directly as a std::vector<int>; the number of elements is the number of dimensions. Each element states the discrete coordinate space.
For example, a three-channel image having width 640 and height 400 would have dimension vector [640,400,3]. The coordinates will be: x \in {0,1,...,639}, y \in {0,1,...,399} and z \in {0,1,2}. The size of the vector of unlimited, allowing hypermatrices of any size.
| size_t getChannelIndex | ( | const std::string & | index | ) | const | 
Returns numeric channel index from "r", "g", "b", or "a" or a non-negative number in string format.
Given a numeric channel index, returns it as a number.
Number
 1.9.8