VR-Forces 4.0.4 Class Documentation
include/gdb/networkEdgeReverseSegmentConstIter.h
Go to the documentation of this file.
00001 /*********************************************************************
00002 ** Copyright (c) 2004 MAK Technologies, Inc.
00003 ** All rights reserved.
00004 *********************************************************************/
00005 /*********************************************************************
00006 ** $RCSfile: networkEdgeReverseSegmentConstIter.h,v $ $Revision: 1.4 $ $State: Exp $
00007 *********************************************************************/
00008 #ifndef networkEdgeReverseSegmentConstIter_H_
00009 #define networkEdgeReverseSegmentConstIter_H_
00010 
00011 //
00012 // \file networkEdgeReverseSegmentConstIter.h
00013 // \brief Contains the DtNetworkEdgeReverseSegmentConstIter class declaration.
00014 //
00015 
00016 #include "gdb/gdbDefines.h"
00017 #include "gdb/netwrkEdge.h"
00018 #include "gdb/networkEdgeSegmentConstIter.h"
00019 
00020 class DtNetworkSegment;
00021 class DtString;
00022 
00023 //
00024 // DtNetworkEdgeReverseSegmentConstIter is a bidirectional const iterator over the segments
00025 // representing a DtNetworkEdge, traversing in the REVERSE direction.
00026 // \invariant At all times, this iterator must point to a *valid* DtNetworkEdge.
00027 class DT_DLL_gdb DtNetworkEdgeReverseSegmentConstIter : public DtNetworkEdgeSegmentConstIter
00028 {
00029 public:
00030    // constructor
00031    // \param edge The DtNetworkEdge to iterate over
00032    DtNetworkEdgeReverseSegmentConstIter(const DtNetworkEdge& edge);
00033 
00034    // Constructs a forward segment iterator starting at the specified 
00035    // segment along the edge
00036    // \param edge The DtNetworkEdge to iterate over
00037    // \param segmentIter A segmentIter associated with the specified edge to initialize to.
00038    DtNetworkEdgeReverseSegmentConstIter(const DtNetworkEdge& edge,
00039       const DtNetworkEdge::DtSegmentConstReverseIter& segmentConstReverseIter);
00040    
00041    // destructor
00042    virtual ~DtNetworkEdgeReverseSegmentConstIter();
00043 
00044    // assignment operator
00045    DtNetworkEdgeReverseSegmentConstIter& operator=(const DtNetworkEdgeReverseSegmentConstIter& orig);
00046 
00047    // copy constructor
00048    DtNetworkEdgeReverseSegmentConstIter(const DtNetworkEdgeReverseSegmentConstIter& orig);
00049 
00050    // \return The start or end points of the current segment as defined by the direction
00051    // of traversal. (i.e., this is a reverse segment iter, so the actual segments endpoint
00052    // will be returned as the start point, and vice versa.)
00053    DtPoint startPoint() const;
00054    DtPoint endPoint() const;
00055 
00056    void operator++(); 
00057    void operator--(); 
00058    const DtNetworkSegment& operator*() const; 
00059    const DtNetworkSegment& operator->() const;
00060 
00061    bool operator==(const DtNetworkEdgeSegmentConstIter& other) const;
00062    bool operator==(const DtNetworkEdgeReverseSegmentConstIter& other) const;
00063 
00064    bool operator!=(const DtNetworkEdgeSegmentConstIter& other) const;
00065    bool operator!=(const DtNetworkEdgeReverseSegmentConstIter& other) const;
00066 
00067    virtual const DtString type() const;
00068   
00069 protected:
00070    DtNetworkEdge::DtSegmentConstReverseIter mySegmentReverseConstIter;
00071 
00072 private:
00073    // default constructor
00074    DtNetworkEdgeReverseSegmentConstIter();
00075 };
00076 
00077 
00078 #endif

Document ID: Generated on Fri Jun 29 16:33:32 EDT 2012 from SVN revision 116588
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)