00001 /** 00002 * @file EdgesPercept.cpp 00003 * 00004 * Implementation of class EdgesPercept. 00005 * @author Dirk Thomas 00006 */ 00007 00008 #include "EdgesPercept.h" 00009 #include "Tools/Math/Common.h" 00010 00011 void EdgesPercept::reset(unsigned long frameNumber) 00012 { 00013 this->frameNumber = frameNumber; 00014 this->numberOfEdges = 0; 00015 } 00016 00017 void EdgesPercept::add(const Vector2<double>& point1OnField, const Vector2<double>& point2OnField, 00018 const Vector2<int>& point1InImage, const Vector2<int>& point2InImage) 00019 { 00020 if(numberOfEdges < maxNumberOfEdges) 00021 { 00022 edges[numberOfEdges].point1OnField = point1OnField; 00023 edges[numberOfEdges].point2OnField = point2OnField; 00024 edges[numberOfEdges].point1InImage = point1InImage; 00025 edges[numberOfEdges].point2InImage = point2InImage; 00026 00027 edges[numberOfEdges].lengthOnField = (point1OnField - point2OnField).abs(); 00028 edges[numberOfEdges].lengthInImage = (point1InImage - point2InImage).abs(); 00029 00030 edges[numberOfEdges].angleOnField = normalize((point2OnField - point1OnField).angle() + pi_2); 00031 edges[numberOfEdges++].angleInImage = normalize((point2InImage - point1InImage).angle() + pi_2); 00032 } 00033 }
1.3.6