00001 #ifndef X3DROUTE_H 00002 #define X3DROUTE_H 00003 00004 #include "X3DMemberFunctor.h" 00005 00006 namespace X3DTK { 00007 00008 class X3DRoute 00009 { 00010 public: 00011 static X3DRoute *make(X3DAbstractNode *A, const SFString &a_name, X3DAbstractNode *B, const SFString &b_name); 00012 inline void send() {_b->setValueOf(_B, _a->getValueOf(_A));}; 00013 00014 private: 00015 X3DRoute(X3DAbstractNode *A, X3DMemberFunctor *a, X3DAbstractNode *B, X3DMemberFunctor *b); 00016 00017 X3DAbstractNode *_A; 00018 X3DMemberFunctor *_a; 00019 X3DAbstractNode *_B; 00020 X3DMemberFunctor *_b; 00021 }; 00022 00023 } 00024 00025 #endif