The vtol_edge_2d class is used to represent a topological edge. A vtol_edge_2d maintains a data pointer to the specific mathematical curve geometry which describes the point set that makes up the 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_2d(vtol_edge_2d &) to vtol_edge_2d(const vtol_edge_2d &) 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 November 30, 2002 - added local implementation for compute_bounding_box Dec. 2002, Peter Vanroose -interface change: vtol objects -> smart pointers 9 Jan. 2003, Peter Vanroose - added "copy_geometry()"
Definition in file vtol_edge_2d.h.
Go to the source code of this file.
|topological edge. More...|