22 #ifndef _utl_CoordinateSystem_h_
23 #define _utl_CoordinateSystem_h_
25 #include <utl/CoordinateSystemPtr.h>
26 #include <utl/TransformationMatrix.h>
27 #include <utl/TransformerConstructor.h>
28 #include <utl/GeometryException.h>
29 #ifdef OFFLINE_GEOMETRY_IS_COUNTED
30 # include <utl/CountedObject.h>
33 #include <boost/enable_shared_from_this.hpp>
34 #include <boost/weak_ptr.hpp>
38 class CoordinateSystem_ROOT;
48 if (!theCoordinateSystem)
189 #ifdef OFFLINE_GEOMETRY_IS_COUNTED
231 #ifdef OFFLINE_GEOMETRY_IS_COUNTED
DerivedCSPolicy(const TransformationMatrix &theTransformation, const CoordinateSystemPtr &theReferenceCS)
Policy for base coordinate systems.
BaseCSPolicy(const TransformationMatrix &theTransformation, const CoordinateSystemPtr &theReferenceCS)
TransformerConstructor< BaseCSPolicy > BaseCoordinateSystem
For base coordinate systems.
TransformerConstructor< DerivedCSPolicy > CoordinateSystem
The normal coordinate system type.
ROOT streamer implementation for utl::CoordinateSystem.
virtual CoordinateSystemPtr GetReferenceForNewCS() const
Get reference system for the creation of new coordinate systems.
boost::shared_ptr< const CoordinateTransformer > CoordinateSystemPtr
Shared pointer for coordinate systems.
static type FromTransformation(const TransformationMatrix &theTrafo, const CoordinateSystemPtr &theCS)
Generic factory for post-processing.
virtual TransformationMatrix GetTransformationForNewCS(const TransformationMatrix &theTransformation) const
Calculate the correct transformation for the new CS.
virtual CoordinateSystemPtr GetReferenceForNewCS() const
Get reference system for the creation of new coordinate systems.
Exception dealing with coordinate systems.
Policy for derived coordinate systems.
void CoordinateSystemValid(const CoordinateSystemPtr &theCoordinateSystem)
virtual TransformationMatrix GetTransformationForNewCS(const TransformationMatrix &theTransformation) const
Calculate the correct transformation for the new CS.
static type FromTransformation(const TransformationMatrix &theTrafo, const CoordinateSystemPtr &theCS)
Generic factory for post-processing.
Mix-in class for counting creation and destruction of objects.