00001 // $Id: GraphProperties.h 85 2006-04-02 20:28:44Z bingmann $ 00002 00003 #ifndef VGS_GraphProperties_H 00004 #define VGS_GraphProperties_H 00005 00006 #include "GraphTypes.h" 00007 #include "AttributeProperties.h" 00008 00009 namespace VGServer { 00010 00017 class GraphProperties 00018 { 00019 public: //protected: 00020 00022 bool directed; 00023 00025 class AttributePropertiesList vertexattr; 00026 00028 class AttributePropertiesList edgeattr; 00029 00030 public: 00031 00033 void clear() 00034 { 00035 directed = false; 00036 00037 vertexattr.clear(); 00038 edgeattr.clear(); 00039 } 00040 00042 inline bool isDirected() const 00043 { return directed; } 00044 00047 void calcAttributeLookups() 00048 { 00049 vertexattr.calcAttributeLookups(); 00050 edgeattr.calcAttributeLookups(); 00051 } 00052 00055 bool parseConfigString(const std::string &s); 00056 00058 void appendBinaryFormat(class ByteOutBuffer &bob) const; 00059 }; 00060 00061 } // namespace VGServer 00062 00063 #endif // VGS_GraphProperties_H