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