List of all members | Public Types | Public Member Functions | Static Public Member Functions | Protected Types | Protected Member Functions | Static Protected Member Functions | Friends
utl::DerivedCSPolicy Class Reference

Policy for derived coordinate systems. More...

#include <utl/CoordinateSystem.h>

Inheritance diagram for utl::DerivedCSPolicy:
Inheritance graph
[legend]

Public Types

typedef CoordinateSystemPtr type
 Type to use to hold objects of this type. More...
 

Public Member Functions

const TransformationMatrixGetInverseTransformationTo (const CoordinateSystemPtr &target) const
 Get the inverse transformation to other coordinate system (w/ caching) More...
 
CoordinateSystemPtr GetReferenceSystem () const
 Get the reference system for this coordinate system. More...
 
const TransformationMatrixGetTransformation () const
 Get the transformation matrix relative to reference system. More...
 
const TransformationMatrixGetTransformationTo (const CoordinateSystemPtr &target) const
 Get the transformation to other coordinate system (with caching) More...
 

Static Public Member Functions

static CoordinateSystemPtr GetRootCoordinateSystem ()
 

Protected Types

typedef boost::weak_ptr< const
CoordinateTransformer
WeakCoordinateSystemPtr
 

Protected Member Functions

 DerivedCSPolicy ()
 
 DerivedCSPolicy (const TransformationMatrix &theTransformation, const CoordinateSystemPtr &theReferenceCS)
 
virtual CoordinateSystemPtr GetReferenceForNewCS () const
 Get reference system for the creation of new coordinate systems. More...
 
CoordinateSystemPtr GetThis () const
 Get a CoordinateSystemPointer for this. More...
 
virtual TransformationMatrix GetTransformationForNewCS (const TransformationMatrix &theTransformation) const
 Calculate the correct transformation for the new CS. More...
 

Static Protected Member Functions

static type FromTransformation (const TransformationMatrix &theTrafo, const CoordinateSystemPtr &theCS)
 Generic factory for post-processing. More...
 

Friends

class io::CoordinateSystem_ROOT
 

Detailed Description

Policy for derived coordinate systems.

A derived coordinate system supplies its own reference system as the reference system to use when contructing a new coordinate systems relative to it.

Note
Derived coordinate systems can never be reference systems.
Author
Lukas Nellen
Date
19 Oct 2003

Definition at line 188 of file CoordinateSystem.h.

Member Typedef Documentation

Type to use to hold objects of this type.

This is the type returned by the TransformerConstructor factory methods.

Note
This is required by the policy interface of TransformerConstructor.

Definition at line 95 of file CoordinateSystem.h.

typedef boost::weak_ptr<const CoordinateTransformer> utl::CoordinateTransformer::WeakCoordinateSystemPtr
protectedinherited

Definition at line 83 of file CoordinateSystem.h.

Constructor & Destructor Documentation

utl::DerivedCSPolicy::DerivedCSPolicy ( )
inlineprotected

Definition at line 194 of file CoordinateSystem.h.

Referenced by FromTransformation().

utl::DerivedCSPolicy::DerivedCSPolicy ( const TransformationMatrix theTransformation,
const CoordinateSystemPtr theReferenceCS 
)
inlineprotected

Definition at line 196 of file CoordinateSystem.h.

Member Function Documentation

CoordinateSystemPtr DerivedCSPolicy::FromTransformation ( const TransformationMatrix theTrafo,
const CoordinateSystemPtr theCS 
)
staticprotected

Generic factory for post-processing.

Definition at line 90 of file CoordinateSystem.cc.

References DerivedCSPolicy(), and utl::TransformationMatrix::Inverse().

const TransformationMatrix & CoordinateTransformer::GetInverseTransformationTo ( const CoordinateSystemPtr target) const
inherited

Get the inverse transformation to other coordinate system (w/ caching)

Definition at line 160 of file CoordinateSystem.cc.

References utl::CoordinateTransformer::fLastInverseTransformation, utl::CoordinateTransformer::fLastTarget, and utl::CoordinateTransformer::GetTransformationTo().

CoordinateSystemPtr DerivedCSPolicy::GetReferenceForNewCS ( ) const
protectedvirtual

Get reference system for the creation of new coordinate systems.

Implements utl::CoordinateTransformer.

Definition at line 58 of file CoordinateSystem.cc.

References utl::CoordinateTransformer::GetReferenceSystem().

CoordinateSystemPtr utl::CoordinateTransformer::GetReferenceSystem ( ) const
inlineinherited

Get the reference system for this coordinate system.

Takes care to keep the ultimate root coordinate system unique.

Definition at line 102 of file CoordinateSystem.h.

References utl::CoordinateTransformer::fReferenceSystem, and utl::CoordinateTransformer::GetRootCoordinateSystem().

Referenced by utl::CoordinateTransformer::CollectTransformationFrom(), utl::CoordinateTransformer::FindCommonBase(), and GetReferenceForNewCS().

CoordinateSystemPtr CoordinateTransformer::GetRootCoordinateSystem ( )
staticinherited
CoordinateSystemPtr CoordinateTransformer::GetThis ( ) const
protectedinherited

Get a CoordinateSystemPointer for this.

Definition at line 34 of file CoordinateSystem.cc.

Referenced by utl::BaseCSPolicy::GetReferenceForNewCS().

const TransformationMatrix& utl::CoordinateTransformer::GetTransformation ( ) const
inlineinherited

Get the transformation matrix relative to reference system.

Definition at line 106 of file CoordinateSystem.h.

References utl::CoordinateTransformer::fTransformation.

Referenced by utl::CoordinateTransformer::CollectTransformationFrom(), and GetTransformationForNewCS().

TransformationMatrix DerivedCSPolicy::GetTransformationForNewCS ( const TransformationMatrix theTransformation) const
protectedvirtual

Calculate the correct transformation for the new CS.

Implements utl::CoordinateTransformer.

Definition at line 74 of file CoordinateSystem.cc.

References utl::CoordinateTransformer::GetTransformation().

const TransformationMatrix & CoordinateTransformer::GetTransformationTo ( const CoordinateSystemPtr target) const
inherited

Friends And Related Function Documentation

friend class io::CoordinateSystem_ROOT
friend

Definition at line 211 of file CoordinateSystem.h.


The documentation for this class was generated from the following files:

, generated on Tue Sep 26 2023.