void LineNode::registerType() { NodeDefinition def = NodeDefinition("line", "vectornode", Node::buildNode<LineNode>) .addArg(Arg<glm::vec2>("pos1", glm::vec2(0,0), false, offsetof(LineNode, m_P1))) .addArg(Arg<glm::vec2>("pos2", glm::vec2(0,0), false, offsetof(LineNode, m_P2))) .addArg(Arg<float>("texcoord1", 0, false, offsetof(LineNode, m_TC1))) .addArg(Arg<float>("texcoord2", 1, false, offsetof(LineNode, m_TC2))) ; NodeRegistry::get()->registerNodeType(def); }
void DivNode::registerType() { string sChildArray[] = {"image", "div", "canvas", "words", "video", "camera", "panoimage", "sound", "line", "rect", "curve", "polyline", "polygon", "circle", "mesh"}; vector<string> sChildren = vectorFromCArray( sizeof(sChildArray) / sizeof(*sChildArray), sChildArray); NodeDefinition def = NodeDefinition("div", "areanode", Node::buildNode<DivNode>) .addChildren(sChildren) .addArg(Arg<bool>("crop", false, false, offsetof(DivNode, m_bCrop))) .addArg(Arg<UTF8String>("mediadir", "", false, offsetof(DivNode, m_sMediaDir))); NodeRegistry::get()->registerNodeType(def); }
void PolyLineNode::registerType() { vector<glm::vec2> v; vector<float> vd; NodeDefinition def = NodeDefinition("polyline", "vectornode", Node::buildNode<PolyLineNode>) .addArg(Arg<string>("linejoin", "bevel")) .addArg(Arg<vector<glm::vec2> >("pos", v, false, offsetof(PolyLineNode, m_Pts))) .addArg(Arg<vector<float> >("texcoords", vd, false, offsetof(PolyLineNode, m_TexCoords))) ; NodeRegistry::get()->registerNodeType(def); }
void OffscreenCanvasNode::registerType() { NodeDefinition def = NodeDefinition("canvas", "canvasbase", Node::buildNode<OffscreenCanvasNode>) .addArg(Arg<bool>("handleevents", false, false, offsetof(OffscreenCanvasNode, m_bHandleEvents))) .addArg(Arg<int>("multisamplesamples", 1, false, offsetof(OffscreenCanvasNode, m_MultiSampleSamples))) .addArg(Arg<bool>("mipmap", false, false, offsetof(OffscreenCanvasNode, m_bMipmap))) .addArg(Arg<bool>("autorender", true, false, offsetof(OffscreenCanvasNode, m_bAutoRender))); NodeRegistry::get()->registerNodeType(def); }
NodeDefinition AreaNode::createDefinition() { return NodeDefinition("areanode") .extendDefinition(Node::createDefinition()) .addArg(Arg<float>("x", 0.0, false, offsetof(AreaNode, m_RelViewport.tl.x))) .addArg(Arg<float>("y", 0.0, false, offsetof(AreaNode, m_RelViewport.tl.y))) .addArg(Arg<glm::vec2>("pos", glm::vec2(0.0, 0.0))) .addArg(Arg<float>("width", 0.0, false, offsetof(AreaNode, m_UserSize.x))) .addArg(Arg<float>("height", 0.0, false, offsetof(AreaNode, m_UserSize.y))) .addArg(Arg<glm::vec2>("size", glm::vec2(0.0, 0.0))) .addArg(Arg<float>("angle", 0.0, false, offsetof(AreaNode, m_Angle))) .addArg(Arg<glm::vec2>("pivot", glm::vec2(-32767, -32767), false, offsetof(AreaNode, m_Pivot))); }
void RectNode::registerType() { float texCoords[] = {0, 0.25f, 0.5f, 0.75f, 1}; NodeDefinition def = NodeDefinition("rect", "filledvectornode", Node::buildNode<RectNode>) .addArg(Arg<glm::vec2>("pos", glm::vec2(0,0), false, offsetof(RectNode, m_Rect.tl))) .addArg(Arg<glm::vec2>("size", glm::vec2(0,0))) .addArg(Arg<float>("angle", 0.0f, false, offsetof(RectNode, m_Angle))) .addArg(Arg<vector<float> >("texcoords", vectorFromCArray(5, texCoords), false, offsetof(RectNode, m_TexCoords))) ; NodeRegistry::get()->registerNodeType(def); }
NodeDefinition DivNode::createDefinition() { string sChildArray[] = {"image", "div", "canvas", "words", "video", "camera", "panoimage", "sound", "line", "rect", "curve", "polyline", "polygon", "circle", "mesh"}; vector<string> sChildren = vectorFromCArray( sizeof(sChildArray) / sizeof(*sChildArray), sChildArray); return NodeDefinition("div", Node::buildNode<DivNode>) .extendDefinition(AreaNode::createDefinition()) .addChildren(sChildren) .addArg(Arg<bool>("crop", false, false, offsetof(DivNode, m_bCrop))) .addArg(Arg<string>("elementoutlinecolor", "", false, offsetof(DivNode, m_sElementOutlineColor))) .addArg(Arg<UTF8String>("mediadir", "", false, offsetof(DivNode, m_sMediaDir))); }
NodeDefinition FilledVectorNode::createDefinition() { return NodeDefinition("filledvector") .extendDefinition(VectorNode::createDefinition()) .addArg(Arg<UTF8String>("filltexhref", "", false, offsetof(FilledVectorNode, m_FillTexHRef))) .addArg(Arg<float>("fillopacity", 0, false, offsetof(FilledVectorNode, m_FillOpacity))) .addArg(Arg<string>("fillcolor", "FFFFFF", false, offsetof(FilledVectorNode, m_sFillColorName))) .addArg(Arg<glm::vec2>("filltexcoord1", glm::vec2(0,0), false, offsetof(FilledVectorNode, m_FillTexCoord1))) .addArg(Arg<glm::vec2>("filltexcoord2", glm::vec2(1,1), false, offsetof(FilledVectorNode, m_FillTexCoord2))) ; }
NodeDefinition CameraNode::createDefinition() { return NodeDefinition("camera", Node::buildNode<CameraNode>) .extendDefinition(RasterNode::createDefinition()) .addArg(Arg<string>("driver", "firewire")) .addArg(Arg<string>("device", "")) .addArg(Arg<int>("unit", -1)) .addArg(Arg<bool>("fw800", false)) .addArg(Arg<float>("framerate", 15)) .addArg(Arg<int>("capturewidth", 640)) .addArg(Arg<int>("captureheight", 480)) .addArg(Arg<string>("pixelformat", "RGB")) .addArg(Arg<int>("brightness", -1)) .addArg(Arg<int>("exposure", -1)) .addArg(Arg<int>("sharpness", -1)) .addArg(Arg<int>("saturation", -1)) .addArg(Arg<int>("camgamma", -1)) .addArg(Arg<int>("shutter", -1)) .addArg(Arg<int>("gain", -1)) .addArg(Arg<int>("strobeduration", -1)); }