![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /********************************************************************* 00002 ** Copyright (c) 2001 MaK Technologies, Inc. 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 /********************************************************************* 00006 ** $RCSfile: netwrkElemnt.h,v $ $Revision: 1.15 $ $State: Exp $ 00007 *********************************************************************/ 00008 #ifndef netwrkElemnt_H_ 00009 #define netwrkElemnt_H_ 00010 00011 // 00012 // \file netwrkElemnt.h 00013 // \brief This file contains the DtNetworkElement class declaration and related functionality. 00014 // 00015 00016 #include "gdb/gdbDefines.h" 00017 #include <stdio.h> 00018 #include <vlutil/vlNetTypes.h> 00019 00020 class DtSpecification; 00021 class DtVectorNetwork; 00022 00023 00024 // The DtFeatureType enum represents the valid feature types for any DtSpecification for 00025 // a vector network element. The values were originally defined in the DFAD 00026 // standard, and have been used as defined here. 00027 typedef enum 00028 { 00029 DtPointFeature = 0, 00030 DtLinearFeature = 1, 00031 DtArealFeature = 2 00032 } DtFeatureType; 00033 00034 00038 class DT_DLL_gdb DtNetworkElement 00039 { 00040 public: 00041 00042 // default constructor 00043 DtNetworkElement(); 00044 00045 // destructor 00046 virtual ~DtNetworkElement(); 00047 00048 // Relying on the compiler generated copy constructor and assignment operators 00049 // copy constructor 00050 // DtNetworkElement(const DtNetworkElement& orig); 00051 // assignment operator 00052 // DtNetworkElement& operator=(const DtNetworkElement& orig); 00053 00054 // get/set array index 00055 virtual unsigned int arrayIndex() const; 00056 virtual void setArrayIndex(unsigned int val); 00057 00058 // find out whether this element is part of a valid network 00059 virtual bool networked() const; 00060 00061 // get specification 00062 virtual const DtSpecification& specification() const = 0; 00063 00064 // get/set remove state 00065 virtual bool isRemoved() const; 00066 virtual bool isNotRemoved() const; 00067 virtual void setAsRemoved(bool onOff); 00068 00069 // void index value 00070 static unsigned int voidIndex(); 00071 00072 protected: 00073 00074 bool myIsRemoved; 00075 unsigned int myArrayIndex; 00076 static const unsigned int theVoidIndex; 00077 }; 00078 00079 00080 // \return A boolean indicating whether or not the specified networkElement 00081 // is a point feature or not. 00082 bool DtIsPointFeature(const DtNetworkElement& networkElement); 00083 00084 // \return A boolean indicating whether or not the specified networkElement 00085 // is a linear feature or not. 00086 bool DtIsLinearFeature(const DtNetworkElement& networkElement); 00087 00088 // \return A boolean indicating whether or not the specified networkElement 00089 // is an areal feature or not. 00090 bool DtIsArealFeature(const DtNetworkElement& networkElement); 00091 00092 00093 00094 #endif