/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ /* ex: set filetype=cpp softtabstop=4 shiftwidth=4 tabstop=4 cindent expandtab: */ /* $Id: vctFrameBase.cpp,v 1.8 2007/04/26 19:33:57 anton Exp $ Author(s): Anton Deguet Created on: 2004-02-12 (C) Copyright 2004-2007 Johns Hopkins University (JHU), All Rights Reserved. --- begin cisst license - do not edit --- This software is provided "as is" under an open source license, with no warranty. The complete license can be found in license.txt and http://www.cisst.org/cisst/license.txt. --- end cisst license --- */ #include #include #include #include template<> const vctFrameBase & vctFrameBase::Identity() { static const TranslationType zeroTranslation(0); static const RotationType identityRotation; static const ThisType result(identityRotation, zeroTranslation); return result; } template<> const vctFrameBase > > & vctFrameBase > >::Identity() { static const TranslationType zeroTranslation(0); static const RotationType identityRotation; static const ThisType result(identityRotation, zeroTranslation); return result; } template<> const vctFrameBase & vctFrameBase::Identity() { static const TranslationType zeroTranslation(0); static const RotationType identityRotation; static const ThisType result(identityRotation, zeroTranslation); return result; } template<> const vctFrameBase > > & vctFrameBase > >::Identity() { static const TranslationType zeroTranslation(0); static const RotationType identityRotation; static const ThisType result(identityRotation, zeroTranslation); return result; } template<> const vctFrameBase & vctFrameBase::Identity() { static const TranslationType zeroTranslation(0); static const RotationType identityRotation; static const ThisType result(identityRotation, zeroTranslation); return result; } template<> const vctFrameBase > > & vctFrameBase > >::Identity() { static const TranslationType zeroTranslation(0); static const RotationType identityRotation; static const ThisType result(identityRotation, zeroTranslation); return result; } template<> const vctFrameBase & vctFrameBase::Identity() { static const TranslationType zeroTranslation(0); static const RotationType identityRotation; static const ThisType result(identityRotation, zeroTranslation); return result; } template<> const vctFrameBase > > & vctFrameBase > >::Identity() { static const TranslationType zeroTranslation(0); static const RotationType identityRotation; static const ThisType result(identityRotation, zeroTranslation); return result; } // **************************************************************************** // Change History // **************************************************************************** // // $Log: vctFrameBase.cpp,v $ // Revision 1.8 2007/04/26 19:33:57 anton // All files in libraries: Applied new license text, separate copyright and // updated dates, added standard header where missing. // // Revision 1.7 2007/02/06 17:22:05 anton // cisstVector: Transformations typdefs updated based on ticket #266 and #263 // // Revision 1.6 2007/01/29 03:29:37 anton // cisstVector: Update quaternion and quaternion based rotation to reflect new // class structure (see ticket #263). // // Revision 1.5 2007/01/26 21:23:22 anton // cisstVector: Updated vctMatrixRotation3 code to reflect new design (i.e. avoid // derived class and use typedef instead, see ticket #263. // // Revision 1.4 2006/11/20 20:33:19 anton // Licensing: Applied new license to cisstCommon, cisstVector, cisstNumerical, // cisstInteractive, cisstImage and cisstOSAbstraction. // // Revision 1.3 2005/09/26 15:41:46 anton // cisst: Added modelines for emacs and vi. // // Revision 1.2 2005/05/19 19:29:01 anton // cisst libs: Added the license to cisstCommon and cisstVector // // Revision 1.1 2004/10/21 20:14:47 anton // cisstVector: Added missing file in check-in [829] // // Revision 1.6 2004/10/14 19:34:52 anton // cisstVector: For the frames, constructors are now based on (rotation, // translation) instead of (translation, rotation) as requested in #72. // // Revision 1.5 2004/04/02 16:22:20 anton // Removed explicit instantiation of the classes. The class is templated and // the method Identity is the only one that needs to be instantiated. The // specialization for floats and doubles does it. // // Revision 1.4 2004/03/11 22:32:59 ofri // Moved instantiation of rotation and frame CLASSES from vctTypes.cpp to // the class cpp file // // Revision 1.3 2004/02/27 02:44:57 ofri // The Identity rotation and frame objects are now declared through a static // method instead of a static object instance. This fixes a bug related to the // order of static object instantiations. // // Revision 1.2 2004/02/18 22:30:42 anton // Added DIMENSION for all transformation to simplify the vctFrame template // // Revision 1.1 2004/02/18 16:00:38 anton // Creation // // // ****************************************************************************