The vtol_edge class is used to represent a topological edge. For convenience in working with linear edges, pointers to the two endpoint vertices are maintained. The direction of an edge is the vector from v1_ to v2_. A 1-chain is the superior of the edge in the topological hierarchy, and a 0-chain is the inferior of the edge in the topological hierarchy. In rare cases, an edge will be used to represent a ray. In this case, only v1_ will be valid and v2_ will be NULL.
Modifications: JLM December 1995, Added timeStamp (Touch) to operations which affect bounds. JLM December 1995 Added method for ComputeBoundingBox (Need to decide proper policy for curved edges and possibly inconsistent linear edge geometry) Samer Abdallah - 21/06/1996 Robotics Research Group, Oxford Changed the constructor vtol_edge(vtol_edge &) to vtol_edge(const vtol_edge &) JLM September 1996 - Added default curve argument to two vertex constructors. This addition is necessary because it is not always the case that one wants to construct an ImplicitLine from two vertices. The curve might be a DigitalCurve, for example. On the other hand in grouping or similar applications, the curve endpoints can be different from the topological connections. So, it is necessary to pass in the vertices as well as the curve. 02-26-97 - Peter Vanroose - Added implementation for virtual Transform() May 2000, PTU - ported to vxl Dec. 2002, Peter Vanroose -interface change: vtol objects -> smart pointers 9 Jan.2003, Peter Vanroose - added pure virtual "copy_geometry()" 27 Sep.2004, Peter Vanroose -is_endpoint() now accepts smart pointer argument
Definition in file vtol_edge.h.
Go to the source code of this file.
|topological edge. More...|