00001 //----------------------------------------------------------------------------- 00002 // 00003 // Module: AffineObject.h 00004 // 00005 // Author: Feng Xie -- xief@mcmaster.ca 00006 // 00007 // Discription: Affine object. 00008 // 00009 // Change log: 00010 // 09-06-25 Created. 00011 // 00012 //----------------------------------------------------------------------------- 00013 00014 #ifndef OMC_AFFINE_OBJECT_H 00015 #define OMC_AFFINE_OBJECT_H 00016 00017 #include "Core.h" 00018 00019 namespace omc 00020 { 00021 class AffineObject 00022 { 00023 public: 00024 AffineObject (index_t); // constructor 00025 00026 ~AffineObject () {}; // destructor 00027 00028 // Accessors for infinity element. 00029 index_t getInfinityElement () const; 00030 virtual void setInfinityElement (index_t); 00031 00032 protected: 00033 index_t m_infinityElement; 00034 }; 00035 00036 00038 inline AffineObject::AffineObject (index_t i) 00039 : m_infinityElement (i) 00040 {} 00041 00043 inline index_t AffineObject::getInfinityElement () const { 00044 return m_infinityElement; 00045 } 00046 00048 inline void AffineObject::setInfinityElement (index_t i) { 00049 m_infinityElement = i; 00050 } 00051 00052 } // namespace omc 00053 00054 #endif