basic/geometry/Frame.cpp

Go to the documentation of this file.
00001 //## begin module%36FE7C26037A.cm preserve=no
00002 //        %X% %Q% %Z% %W%
00003 //## end module%36FE7C26037A.cm
00004 
00005 //## begin module%36FE7C26037A.cp preserve=no
00006 //## end module%36FE7C26037A.cp
00007 
00008 //## Module: Frame%36FE7C26037A; Pseudo Package body
00009 //## Source file: C:\user\gipson\projects\mpk\code\geometry\Frame.cpp
00010 
00011 //## begin module%36FE7C26037A.additionalIncludes preserve=no
00012 //## end module%36FE7C26037A.additionalIncludes
00013 
00014 //## begin module%36FE7C26037A.includes preserve=yes
00015 #include <assert.h>
00016 #include <list>
00017 #include <algorithm>
00018 #include <set>
00019 //## end module%36FE7C26037A.includes
00020 
00021 // Vector4
00022 #include "math\Vector4.h"
00023 // Frame
00024 #include "geometry\Frame.h"
00025 //## begin module%36FE7C26037A.additionalDeclarations preserve=yes
00026 //## end module%36FE7C26037A.additionalDeclarations
00027 
00028 
00029 // Class Frame 
00030 
00031 
00032 
00033 
00034 
00035 
00036 
00037 Frame::Frame ()
00038   //## begin Frame::Frame%923117054.hasinit preserve=no
00039   //## end Frame::Frame%923117054.hasinit
00040   //## begin Frame::Frame%923117054.initialization preserve=yes
00041   :baseFrame( 0 )
00042   //## end Frame::Frame%923117054.initialization
00043 {
00044   //## begin Frame::Frame%923117054.body preserve=yes
00045         strcpy( name, "Unnamed" ) ;
00046   //## end Frame::Frame%923117054.body
00047 }
00048 
00049 Frame::Frame (const Matrix4x4& right)
00050   //## begin Frame::Frame%926014532.hasinit preserve=no
00051   //## end Frame::Frame%926014532.hasinit
00052   //## begin Frame::Frame%926014532.initialization preserve=yes
00053   : Matrix4x4( right ),
00054   baseFrame( 0 )
00055   //## end Frame::Frame%926014532.initialization
00056 {
00057   //## begin Frame::Frame%926014532.body preserve=yes
00058 //      assert( false ) ;       //baseframe not initialized
00059         strcpy( name, "Unnamed" ) ;
00060   //## end Frame::Frame%926014532.body
00061 }
00062 
00063 
00064 Frame::~Frame()
00065 {
00066   //## begin Frame::~Frame%.body preserve=yes
00067   //## end Frame::~Frame%.body
00068 }
00069 
00070 
00071 
00072 //## Other Operations (implementation)
00073 void Frame::SetBaseFrame (const unsigned int base)
00074 {
00075   //## begin Frame::SetBaseFrame%923117055.body preserve=yes
00076         baseFrame = base ;
00077         //IMPROVE: determine whether or not this is a valid base frame
00078   //## end Frame::SetBaseFrame%923117055.body
00079 }
00080 
00081 unsigned int Frame::BaseFrameNum () const
00082 {
00083   //## begin Frame::BaseFrameNum%923117056.body preserve=yes
00084         return baseFrame ;
00085   //## end Frame::BaseFrameNum%923117056.body
00086 }
00087 
00088 bool Frame::operator < (const Frame& right) const
00089 {
00090   //## begin Frame::operator<%945198430.body preserve=yes
00091         assert( false ) ;
00092         return false ;
00093   //## end Frame::operator<%945198430.body
00094 }
00095 
00096 Frame Frame::EvaluateOverall () const
00097 {
00098   //## begin Frame::EvaluateOverall%923255743.body preserve=yes
00099         assert( false ) ;
00100         return Frame() ;
00101   //## end Frame::EvaluateOverall%923255743.body
00102 }
00103 
00104 Vector4 Frame::GetTranslationVector () const
00105 {
00106   //## begin Frame::GetTranslationVector%926300305.body preserve=yes
00107         Vector4 returnMe ;
00108         returnMe[ 0 ] = ( *this )( 0, 3 ) ;
00109         returnMe[ 1 ] = ( *this )( 1, 3 ) ;
00110         returnMe[ 2 ] = ( *this )( 2, 3 ) ;
00111         return returnMe ;
00112   //## end Frame::GetTranslationVector%926300305.body
00113 }
00114 
00115 bool Frame::operator == (const Frame& right) const
00116 {
00117   //## begin Frame::operator==%945198431.body preserve=yes
00118         assert( false ) ;
00119         return false ;
00120   //## end Frame::operator==%945198431.body
00121 }
00122 
00123 // Additional Declarations
00124   //## begin Frame%36FE7C26037A.declarations preserve=yes
00125 Frame::Frame( const Frame& right ):
00126         Matrix4x4( right ),
00127         baseFrame( right.baseFrame ) 
00128 {
00129         strcpy( name, right.name ) ;
00130 }
00131   //## end Frame%36FE7C26037A.declarations
00132 //## begin module%36FE7C26037A.epilog preserve=yes
00133 Frame& Frame::operator =( const Frame& right ) 
00134 {
00135         assert( right.baseFrame < 20 ) ;
00136         SetValues(right);
00137         return *this ;
00138 }
00139 //## end module%36FE7C26037A.epilog
00140 
00141 
00142 // Detached code regions:
00143 // WARNING: this code will be lost if code is regenerated.
00144 #if 0
00145 //## begin Frame::SetValues%969569780.body preserve=no
00146         //IMPROVE: this is way inefficient
00147         *this = values;
00148 //## end Frame::SetValues%969569780.body
00149 
00150 #endif

Generated on Sat Apr 1 21:30:30 2006 for Motion Planning Kernel by  doxygen 1.4.6-NO