// (c) Tuomas J. Lukka #include #include #include "TransFactory.gen.hxx" using namespace Vob::JNI; using namespace Vob::Primitives; #define TRANSTYPE(x) return new PrimitiveHierarchicalTransform() typedef HierarchicalTransform *hptr; typedef hptr (*func)(); func transFactories[NTRANSFORMTYPES]; namespace Vob { HierarchicalTransform *defaultTransformFactory(int id) { if(id < 0 || id > NTRANSFORMTYPES) return 0; func f = ::transFactories[id]; hptr ptr; ptr = (*f)(); return ptr; } }