Field3D
|
Contains Field, WritableField and ResizableField classes. More...
#include <cmath>
#include <vector>
#include <map>
#include <boost/intrusive_ptr.hpp>
#include <boost/thread/mutex.hpp>
#include "Traits.h"
#include "Exception.h"
#include "FieldMapping.h"
#include "FieldMetadata.h"
#include "Log.h"
#include "RefCount.h"
#include "Types.h"
#include "ns.h"
Go to the source code of this file.
Classes | |
class | Field< Data_T > |
class | Field< Data_T >::const_iterator |
class | FieldBase |
class | FieldRes |
class | ResizableField< Data_T > |
class | WritableField< Data_T > |
class | WritableField< Data_T >::iterator |
Namespaces | |
namespace | Exc |
Namespace for Exception objects. | |
Defines | |
#define | FIELD3D_CLASSTYPE_TEMPL_INSTANTIATION(field) |
Functions | |
template<class Iter_T > | |
void | advance (Iter_T &iter, int num) |
template<class Iter_T > | |
void | advance (Iter_T &iter, int num, const Iter_T &end) |
V2i | contToDisc (const V2d &contCoord) |
Goes from continuous coords to discrete for a 2-vector. | |
V3i | contToDisc (const V3d &contCoord) |
Goes from continuous coords to discrete for a 3-vector. | |
int | contToDisc (double contCoord) |
Goes from continuous coordinates to discrete coordinates See Graphics Gems - What is a pixel. | |
V2d | discToCont (const V2i &discCoord) |
Goes from discrete coords to continuous for a 2-vector. | |
V3d | discToCont (const V3i &discCoord) |
Goes from discrete coords to continuous for a 3-vector. | |
double | discToCont (int discCoord) |
Goes from discrete coordinates to continuous coordinates See Graphics Gems - What is a pixel. | |
FIELD3D_CLASSTYPE_TEMPL_INSTANTIATION (ResizableField) | |
FIELD3D_CLASSTYPE_TEMPL_INSTANTIATION (WritableField) | |
FIELD3D_CLASSTYPE_TEMPL_INSTANTIATION (Field) | |
template<class Data_T > | |
bool | isIdentical (typename Field< Data_T >::Ptr a, typename Field< Data_T >::Ptr b) |
Checks whether the span and data in two different fields are identical. | |
template<class Data_T , class Data_T2 > | |
bool | sameDefinition (typename Field< Data_T >::Ptr a, typename Field< Data_T2 >::Ptr b) |
Checks whether the mapping and resolution in two different fields are identical. |
Contains Field, WritableField and ResizableField classes.
Definition in file Field.h.
#define FIELD3D_CLASSTYPE_TEMPL_INSTANTIATION | ( | field | ) |
template <typename Data_T> \ TemplatedFieldType<field<Data_T> > field<Data_T>::ms_classType = \ TemplatedFieldType<field<Data_T> >(); \
FIELD3D_CLASSTYPE_TEMPL_INSTANTIATION | ( | Field | ) |
FIELD3D_CLASSTYPE_TEMPL_INSTANTIATION | ( | WritableField | ) |
FIELD3D_CLASSTYPE_TEMPL_INSTANTIATION | ( | ResizableField | ) |
bool sameDefinition | ( | typename Field< Data_T >::Ptr | a, |
typename Field< Data_T2 >::Ptr | b | ||
) |
Checks whether the mapping and resolution in two different fields are identical.
Definition at line 974 of file Field.h.
References FieldRes::dataWindow(), FieldRes::extents(), and FieldRes::mapping().
{ if (a->extents() != b->extents()) { return false; } if (a->dataWindow() != b->dataWindow()) { return false; } if (!a->mapping()->isIdentical(b->mapping())) { return false; } return true; }
bool isIdentical | ( | typename Field< Data_T >::Ptr | a, |
typename Field< Data_T >::Ptr | b | ||
) |
Checks whether the span and data in two different fields are identical.
Definition at line 994 of file Field.h.
References Field< Data_T >::cbegin(), and Field< Data_T >::cend().
{ if (!sameDefinition<Data_T, Data_T>(a, b)) { return false; } // If data window is the same, we can safely assume that the range of // both fields' iterators are the same. typename Field<Data_T>::const_iterator is1 = a->cbegin(); typename Field<Data_T>::const_iterator is2 = b->cbegin(); typename Field<Data_T>::const_iterator ie1 = a->cend(); bool same = true; for (; is1 != ie1; ++is1, ++is2) { if (*is1 != *is2) { same = false; break; } } return same; }
int contToDisc | ( | double | contCoord | ) | [inline] |
Goes from continuous coordinates to discrete coordinates See Graphics Gems - What is a pixel.
Definition at line 1018 of file Field.h.
Referenced by contToDisc().
{ return static_cast<int>(std::floor(contCoord)); }
double discToCont | ( | int | discCoord | ) | [inline] |
Goes from discrete coordinates to continuous coordinates See Graphics Gems - What is a pixel.
Definition at line 1027 of file Field.h.
Referenced by FrustumFieldMapping::computeVoxelSize(), and discToCont().
{ return static_cast<double>(discCoord) + 0.5; }
Goes from continuous coords to discrete for a 2-vector.
Definition at line 1035 of file Field.h.
References contToDisc().
{ return V2i(contToDisc(contCoord.x), contToDisc(contCoord.y)); }
Goes from discrete coords to continuous for a 2-vector.
Definition at line 1043 of file Field.h.
References discToCont().
{ return V2d(discToCont(discCoord.x), discToCont(discCoord.y)); }
Goes from continuous coords to discrete for a 3-vector.
Definition at line 1051 of file Field.h.
References contToDisc().
{ return V3i(contToDisc(contCoord.x), contToDisc(contCoord.y), contToDisc(contCoord.z)); }
Goes from discrete coords to continuous for a 3-vector.
Definition at line 1060 of file Field.h.
References discToCont().
{ return V3d(discToCont(discCoord.x), discToCont(discCoord.y), discToCont(discCoord.z)); }