From: Pierre M. <sid...@us...> - 2005-05-26 19:37:40
|
Update of /cvsroot/robotflow/RobotFlow/Vision/include In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv4696 Modified Files: VisualHistogramDesc.h VisualROI.h VisualTarget.h VisualTargetManager.h Log Message: Now using RCPtr to produce reference output instead of copying member data. Index: VisualROI.h =================================================================== RCS file: /cvsroot/robotflow/RobotFlow/Vision/include/VisualROI.h,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** VisualROI.h 12 Apr 2005 20:09:06 -0000 1.3 --- VisualROI.h 26 May 2005 19:37:29 -0000 1.4 *************** *** 54,57 **** --- 54,60 ---- void DrawROI(IplImage *io_frame, const unsigned char *i_color) const; + + void DrawROI(int i_width, int i_height, int i_numChannels, + unsigned char *io_pixels, const unsigned char *i_color) const; void Reset(int i_hsX, int i_hsY, int i_angle); *************** *** 85,88 **** --- 88,93 ---- const unsigned char *GetCstMask() const; + void SetType(e_VISUALROI_type i_type); + void SetXCen(int i_xCen); Index: VisualTargetManager.h =================================================================== RCS file: /cvsroot/robotflow/RobotFlow/Vision/include/VisualTargetManager.h,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** VisualTargetManager.h 12 Apr 2005 20:09:06 -0000 1.3 --- VisualTargetManager.h 26 May 2005 19:37:29 -0000 1.4 *************** *** 90,94 **** bool m_ppCompleted; - VisualTarget<double> *m_target; FD::RCPtr<VisualTarget<double> > m_refTarget; //RCPtr<VisualROI> m_refROI; --- 90,93 ---- Index: VisualHistogramDesc.h =================================================================== RCS file: /cvsroot/robotflow/RobotFlow/Vision/include/VisualHistogramDesc.h,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** VisualHistogramDesc.h 12 Apr 2005 20:09:06 -0000 1.3 --- VisualHistogramDesc.h 26 May 2005 19:37:29 -0000 1.4 *************** *** 94,97 **** --- 94,100 ---- VisualHistogramDesc(const VisualHistogramDesc<BinType,FeatType> &i_ref) + : m_numBins(NULL), + m_binsWidth(NULL), + m_bins(NULL) { this->SetType(i_ref.GetType()); Index: VisualTarget.h =================================================================== RCS file: /cvsroot/robotflow/RobotFlow/Vision/include/VisualTarget.h,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** VisualTarget.h 12 Apr 2005 20:09:06 -0000 1.3 --- VisualTarget.h 26 May 2005 19:37:29 -0000 1.4 *************** *** 35,42 **** VisualTarget() : m_valid(false), m_id(0), m_activeAge(0), m_passiveAge(0), m_curDescIdx(0), ! m_roi(NULL), m_numDesc(-1), m_targetDesc(NULL), m_cueWeights(NULL), m_tmpCueProb(NULL) { ! } --- 35,42 ---- VisualTarget() : m_valid(false), m_id(0), m_activeAge(0), m_passiveAge(0), m_curDescIdx(0), ! m_refROI(NULL), m_numDesc(-1), m_targetDesc(NULL), m_cueWeights(NULL), m_tmpCueProb(NULL) { ! } *************** *** 44,51 **** FD::Vector<VisualFeatureDesc<FeatBaseType> *> *i_targetDesc) : m_valid(true), m_id(i_id), m_activeAge(0), m_passiveAge(0), m_curDescIdx(0), ! m_roi(NULL), m_targetDesc(NULL), m_cueWeights(NULL), ! m_tmpCueProb(NULL) { ! m_roi = new VisualROI(*i_roi); m_numDesc = i_targetDesc->size(); m_targetDesc = new FD::Vector<VisualFeatureDesc<FeatBaseType> *>(m_numDesc); --- 44,50 ---- FD::Vector<VisualFeatureDesc<FeatBaseType> *> *i_targetDesc) : m_valid(true), m_id(i_id), m_activeAge(0), m_passiveAge(0), m_curDescIdx(0), ! m_targetDesc(NULL), m_cueWeights(NULL), m_tmpCueProb(NULL) { ! m_refROI = FD::RCPtr<VisualROI>(new VisualROI(*i_roi)); m_numDesc = i_targetDesc->size(); m_targetDesc = new FD::Vector<VisualFeatureDesc<FeatBaseType> *>(m_numDesc); *************** *** 61,65 **** VisualTarget::VisualTarget(const VisualTarget& i_ref) :m_id(-1), m_activeAge(-1), m_passiveAge(-1), m_curDescIdx(0), ! m_numDesc(-1), m_roi(NULL), m_targetDesc(NULL), m_cueWeights(NULL), m_tmpCueProb(NULL) { --- 60,64 ---- VisualTarget::VisualTarget(const VisualTarget& i_ref) :m_id(-1), m_activeAge(-1), m_passiveAge(-1), m_curDescIdx(0), ! m_numDesc(-1), m_targetDesc(NULL), m_cueWeights(NULL), m_tmpCueProb(NULL) { *************** *** 70,83 **** m_passiveAge = i_ref.m_passiveAge; m_curDescIdx = i_ref.m_curDescIdx; ! if (i_ref.m_roi) { ! if (this->m_roi) { ! *(this->m_roi) = *(i_ref.m_roi); } else { ! this->m_roi = new VisualROI(*(i_ref.m_roi)); } } else { ! this->m_roi = NULL; } if (i_ref.m_targetDesc) { --- 69,82 ---- m_passiveAge = i_ref.m_passiveAge; m_curDescIdx = i_ref.m_curDescIdx; ! if (!i_ref.m_refROI.isNil()) { ! if (!this->m_refROI.isNil()) { ! *(this->m_refROI) = *(i_ref.m_refROI); } else { ! this->m_refROI = FD::RCPtr<VisualROI>(new VisualROI(*(i_ref.m_refROI))); } } else { ! std::cout << "VisualTarget::VisualTarget: reference to copy has NULL ROI" << std::endl; } if (i_ref.m_targetDesc) { *************** *** 100,111 **** } ! virtual ~VisualTarget() { - delete m_roi; - for (int i=0; i<m_numDesc; i++) { delete (*m_targetDesc)[i]; } - delete m_targetDesc; delete [] m_cueWeights; --- 99,107 ---- } ! ~VisualTarget() { for (int i=0; i<m_numDesc; i++) { delete (*m_targetDesc)[i]; } delete m_targetDesc; delete [] m_cueWeights; *************** *** 113,117 **** } ! VisualTarget<FeatBaseType> & operator =(const VisualTarget<FeatBaseType> &i_ref) { try { --- 109,113 ---- } ! VisualTarget<FeatBaseType> & operator =(VisualTarget<FeatBaseType> &i_ref) { try { *************** *** 123,136 **** this->m_passiveAge = i_ref.m_passiveAge; this->m_curDescIdx = i_ref.m_curDescIdx; ! if (i_ref.m_roi) { ! if (this->m_roi) { ! *(this->m_roi) = *(i_ref.m_roi); } else { ! this->m_roi = new VisualROI(*(i_ref.m_roi)); } } else { ! this->m_roi = NULL; } if (i_ref.m_targetDesc) { --- 119,132 ---- this->m_passiveAge = i_ref.m_passiveAge; this->m_curDescIdx = i_ref.m_curDescIdx; ! if (!i_ref.m_refROI.isNil()) { ! if (!this->m_refROI.isNil()) { ! *(this->m_refROI) = *(i_ref.m_refROI); } else { ! this->m_refROI = FD::RCPtr<VisualROI>(new VisualROI(*(i_ref.m_refROI))); } } else { ! std::cout << "VisualTarget::VisualTarget: reference to copy has NULL ROI" << std::endl; } if (i_ref.m_targetDesc) { *************** *** 309,318 **** VisualROI *GetROI() { ! return m_roi; } const VisualROI *GetCstROI() const { ! return (const VisualROI *)m_roi; } --- 305,319 ---- VisualROI *GetROI() { ! return &(*m_refROI); } const VisualROI *GetCstROI() const { ! return (const VisualROI *)(&(*m_refROI)); ! } ! ! FD::RCPtr<VisualROI> GetROIRCPtr() ! { ! return m_refROI; } *************** *** 402,410 **** void SetROI(VisualROI *i_roi) { ! if (m_roi) { ! *m_roi = *i_roi; } else { ! m_roi = new VisualROI(*i_roi); } } --- 403,411 ---- void SetROI(VisualROI *i_roi) { ! if (!m_refROI.isNil()) { ! *m_refROI = *i_roi; } else { ! m_refROI = FD::RCPtr<VisualROI>(new VisualROI(*i_roi)); } } *************** *** 445,452 **** { // Reset the number of descriptors ! SetNumDescriptors(i_descVec->size()); ! ! for (int i=0; i<m_numDesc; i++) { ! (*m_targetDesc)[i] = (*i_descVec)[i]->clone(); } } --- 446,457 ---- { // Reset the number of descriptors ! if (i_descVec->size() > 0 ) { ! this->SetNumDescriptors(i_descVec->size()); ! for (int i=0; i<m_numDesc; i++) { ! (*m_targetDesc)[i] = (*i_descVec)[i]->clone(); ! } ! } ! else { ! throw new FD::GeneralException("Exception in VisualTarget::SetDescriptorsVec: input feature vector must have at least one element.",__FILE__,__LINE__); } } *************** *** 491,495 **** int m_activeAge; int m_passiveAge; ! VisualROI *m_roi; int m_numDesc; int m_curDescIdx; --- 496,500 ---- int m_activeAge; int m_passiveAge; ! FD::RCPtr<VisualROI> m_refROI; int m_numDesc; int m_curDescIdx; |