00001 #ifndef DDF_VNODE_H 00002 #define DDF_VNODE_H 00003 00004 #include "ddftypes.h" 00005 00006 namespace afl 00007 { 00008 namespace ddf 00009 { 00010 class PropertySet; 00011 00012 enum property_t 00013 { 00014 PROP_POINTS = 1, 00015 PROP_VALUES, 00016 PROP_JACOBIAN 00017 }; 00018 00024 class VNode 00025 { 00027 public: 00033 VNode( PropertySet* rs, size_t nodeid ); 00034 00040 VNode( const PropertySet* rs, size_t nodeid ); 00041 00047 VNode( const VNode& toCopy ); 00048 00054 VNode& operator=( const VNode& toCopy ); 00055 00072 void set( data_t datum, property_t prop, size_t row = 0, size_t col = 0, size_t epoch = 0); 00073 00088 data_t get( property_t prop, size_t row = 0, size_t col = 0, size_t epoch = 0 ) const; 00089 00090 00092 private: 00096 size_t _nodeid; 00097 00099 private: 00100 PropertySet* _propertySet; 00101 const PropertySet* _constSet; 00102 00103 }; 00104 00105 } 00106 } 00107 00108 #endif // VNODE_H 00109