Fish - FiberLib for VISH 0.3
Fish - The Fiber Bundle API for the Vish Visualization Shell
ProjTransformator Struct Reference
Inheritance diagram for ProjTransformator:
Fiber::Transformator Fiber::Transformator Wizt::ReferenceBase< Transformator > Wizt::ReferenceBase< Transformator >

Public Member Functions

FieldTransformator get (const ChartID &TargetChart, const Skeleton &FieldContainer, const FieldID &Fieldname) override
 Callback function to provide a Transformation into the specific chart from the available coordinate representation.
void fillTransformations (const std::string &source, const std::string &target, const RefPtr< ProjTransformation > &trafo)
void printStoredTransformations ()
FieldTransformator get (const ChartID &TargetChartName, const Skeleton &FieldContainer, const FieldID &Fieldname) override
 Callback function to provide a Transformation into the specific chart from the available coordinate representation.
Public Member Functions inherited from Wizt::ReferenceBase< Transformator >
auto getObjectCountID () const noexcept
bool isIdentical (const WeakPtr< Object, Object > &PossibleSelf) const noexcept
void mkAutoDestructive ()
refcount_t refcount () const noexcept
 ReferenceBase (Object *that) noexcept
const auto & self () const
refcount_t wrefcount () const noexcept

Public Attributes

Ref< ProjTransformationmyProjTransformation {"EPSG:20000", "EPSG:10000"}
std::unordered_map< std::string, std::unordered_map< std::string, RefPtr< ProjTransformation > > > transformations

Additional Inherited Members

Public Types inherited from Wizt::ReferenceBase< Transformator >
typedef Object reference_domain_t
typedef WeakPtr< Object, Object > SelfPtr_t
Protected Member Functions inherited from Wizt::ReferenceBase< Transformator >
virtual void extremeUnction ()
ReferenceBaseoperator= (const ReferenceBase &R)
void suicide ()

Member Function Documentation

◆ get() [1/2]

FieldTransformator ProjTransformator::get ( const ChartID & TargetChartName,
const Skeleton & FieldContainer,
const FieldID & Fieldname )
inlineoverridevirtual

Callback function to provide a Transformation into the specific chart from the available coordinate representation.

No actual data are transformed by this call, it merely specifies that the given coordinate transformation is possible.

The actual data transformation is performed by the Transformation object that is returned by this call.

It is the responsibility of the Transformator to identify an appropriate source representation within the provided Skeleton and to return the field in this given representation.

The Sourcefield is mandatory, the SourcePositions are optional: Many transformation functions are location-dependent, so the transformation will need the coordinate location of some value, thus the positions are provided when transforming some data field. In some special cases the transformations are location-independent, on which case the SourcePositions field is not needed. Also, if the positions themselves are transformed, then this field is not available yet and will be a nullptr.

Implements Fiber::Transformator.

References Fiber::Representation::getPositions(), and Fiber::RepresentationMap::iterate_representations().

◆ get() [2/2]

FieldTransformator ProjTransformator::get ( const ChartID & TargetChartName,
const Skeleton & FieldContainer,
const FieldID & Fieldname )
inlineoverridevirtual

Callback function to provide a Transformation into the specific chart from the available coordinate representation.

No actual data are transformed by this call, it merely specifies that the given coordinate transformation is possible.

The actual data transformation is performed by the Transformation object that is returned by this call.

It is the responsibility of the Transformator to identify an appropriate source representation within the provided Skeleton and to return the field in this given representation.

The Sourcefield is mandatory, the SourcePositions are optional: Many transformation functions are location-dependent, so the transformation will need the coordinate location of some value, thus the positions are provided when transforming some data field. In some special cases the transformations are location-independent, on which case the SourcePositions field is not needed. Also, if the positions themselves are transformed, then this field is not available yet and will be a nullptr.

Implements Fiber::Transformator.

References std::basic_string< typename _CharT, typename _Traits, typename _Alloc >::c_str(), std::cout, std::endl(), std::basic_string< typename _CharT, typename _Traits, typename _Alloc >::find_last_of(), Fiber::Representation::getPositions(), Fiber::RepresentationMap::iterate_representations(), Fiber::ChartID::Name(), std::search(), and std::basic_string< typename _CharT, typename _Traits, typename _Alloc >::substr().