Classes
contrib/gel/vtol/vtol_edge_2d.h File Reference

Represents the basic 1D topological entity with 2d geometry (curve) More...

#include <vcl_iosfwd.h>
#include <vtol/vtol_zero_chain.h>
#include <vtol/vtol_vertex_2d.h>
#include <vtol/vtol_vertex_2d_sptr.h>
#include <vsol/vsol_curve_2d.h>
#include <vsol/vsol_curve_2d_sptr.h>
#include <vtol/vtol_edge.h>

Go to the source code of this file.

Classes

class  vtol_edge_2d
 topological edge. More...

Detailed Description

Represents the basic 1D topological entity with 2d geometry (curve)

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.