00001 #include "InterestPoint.h" 00002 00003 InterestPoint::InterestPoint(const OrientedPoint2D& _position, double _scale, const Descriptor* _descriptor): 00004 m_position(_position), 00005 m_scale(_scale), 00006 m_scaleLevel(0), 00007 m_descriptor(_descriptor) 00008 { 00009 00010 } 00011 00012 InterestPoint::InterestPoint(const InterestPoint& _point): 00013 m_position(_point.getPosition()), 00014 m_scale(_point.getScale()), 00015 m_scaleLevel(_point.getScaleLevel()) 00016 { 00017 if(_point.getDescriptor()) 00018 m_descriptor = _point.getDescriptor()->clone(); 00019 else 00020 m_descriptor = 0; 00021 } 00022 00023 InterestPoint& InterestPoint::operator=(const InterestPoint& _point){ 00024 m_position = _point.getPosition(); 00025 m_scale = _point.getScale(); 00026 m_scaleLevel = _point.getScaleLevel(); 00027 delete m_descriptor; 00028 m_descriptor = _point.getDescriptor()->clone(); 00029 return *this; 00030 } 00031 00032 InterestPoint::~InterestPoint(){ 00033 delete m_descriptor; 00034 }