VR-Forces 4.0.4 Class Documentation
include/gdb/vecNetwrkRecord.h
Go to the documentation of this file.
00001 /*******************************************************************************
00002 ** Copyright (c) 1999 MAK Technologies, Inc.
00003 ** All rights reserved.
00004 *******************************************************************************/
00005 /*******************************************************************************
00006 ** $RCSfile: vecNetwrkRecord.h,v $ $Revision: 1.10 $ $State: Exp $
00007 *******************************************************************************/
00008 
00009 #ifndef vecNetwrkRecord_H_
00010 #define vecNetwrkRecord_H_
00011 
00012 #include "gdb/gdbDefines.h"
00013 #include <vlutil/vlNetTypes.h>
00014 
00015 //forward declarations
00016 class DtSimpleList;
00017 class DtSpecificationAttribute;
00018 
00019 // class DtVectorNetworkRecord:
00020 //
00021 // DtVectorNetworkRecord is used to pass info to DtTerrainDatabase 
00022 // to be used during a search into the vector network
00023 
00024 class DT_DLL_gdb DtVectorNetworkRecord
00025 {
00026 public:
00027 
00028    // default constructor
00029    DtVectorNetworkRecord();
00030 
00031    // destructor
00032    virtual ~DtVectorNetworkRecord();
00033 
00034    // copy constructor
00035    DtVectorNetworkRecord(const DtVectorNetworkRecord& orig);
00036 
00037    // assignment operator
00038    DtVectorNetworkRecord& operator=(const DtVectorNetworkRecord& orig);
00039 
00040    // set/get the value for range of interest
00041    virtual void setInterestRange(double range);
00042    virtual double interestRange() const;
00043 
00044    // set/get if we want to evaluate elevation in features
00045    virtual void setEvalInZ(bool inZ);
00046    virtual bool evalInZ() const;
00047 
00048    // Functions to add attributes to evaluate them against the
00049    // specifications of the vector network.
00050    // They can be used to be equal, lees than, greater than or different,
00051    // 
00052    // add: Clone the attribute and add its own copy.
00053    // take: return the list and give it up to be owned (and deleted) 
00054    //       by some one else. After use a take function there is not more 
00055    //       function available in the record.
00056    // XXX: return the current list
00057 
00058    virtual void addEqualCondAttr(DtSpecificationAttribute* attr);
00059    virtual DtSimpleList* equalCondAttrList() const;
00060    virtual DtSimpleList* takeEqualCondAttrList();
00061 
00062    virtual void addDiffCondAttr(DtSpecificationAttribute* attr);
00063    virtual DtSimpleList* diffCondAttrList() const;
00064    virtual DtSimpleList* takeDiffCondAttrList();
00065 
00066    virtual void addLessThanCondAttr(DtSpecificationAttribute* attr);
00067    virtual DtSimpleList* lessThanCondAttrList() const;
00068    virtual DtSimpleList* takeLessThanCondAttrList();
00069 
00070    virtual void addGreaterThanCondAttr(DtSpecificationAttribute* attr);
00071    virtual DtSimpleList* greaterThanCondAttrList() const;
00072    virtual DtSimpleList* takeGreaterThanCondAttrList();
00073 
00074 protected:
00075 
00076    virtual bool testInvariant() const;
00077 
00078    // empty the condition lists and free memory
00079    virtual void emptyLists();
00080 
00081    // copy lists 
00082    virtual void copyLists(const DtVectorNetworkRecord& orig);
00083 
00084    double         myRange;
00085    bool           myInZ;
00086    DtSimpleList*  myEqualList;
00087    DtSimpleList*  myDiffList;
00088    DtSimpleList*  myLessThanList;
00089    DtSimpleList*  myGreaterThanList;
00090 };
00091 
00092 #endif
00093 

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)