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

Policy for base coordinate systems. More...

#include <utl/CoordinateSystem.h>

Inheritance diagram for utl::BaseCSPolicy:
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

 BaseCSPolicy ()
 
 BaseCSPolicy (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 CoordinateTransformer
 

Detailed Description

Policy for base coordinate systems.

A base coordinate system supplies itself as the reference system when contructing a new coordinate systems relative to it.

Note
All reference coordinate systems have to be base cooridinate systems (by construction).
Author
Lukas Nellen
Date
19 Oct 2003

Definition at line 230 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::BaseCSPolicy::BaseCSPolicy ( )
inlineprotected

Definition at line 238 of file CoordinateSystem.h.

Referenced by FromTransformation().

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

Definition at line 240 of file CoordinateSystem.h.

Member Function Documentation

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

Generic factory for post-processing.

Definition at line 98 of file CoordinateSystem.cc.

References BaseCSPolicy(), 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 BaseCSPolicy::GetReferenceForNewCS ( ) const
protectedvirtual

Get reference system for the creation of new coordinate systems.

Implements utl::CoordinateTransformer.

Definition at line 66 of file CoordinateSystem.cc.

References utl::CoordinateTransformer::GetThis().

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 utl::DerivedCSPolicy::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 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 utl::DerivedCSPolicy::GetTransformationForNewCS().

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

Calculate the correct transformation for the new CS.

Implements utl::CoordinateTransformer.

Definition at line 82 of file CoordinateSystem.cc.

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

Friends And Related Function Documentation

friend class CoordinateTransformer
friend

Definition at line 235 of file CoordinateSystem.h.


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

, generated on Tue Sep 26 2023.