Skip to content

Instantly share code, notes, and snippets.

@ilayshp
Created March 21, 2019 07:09
Show Gist options
  • Save ilayshp/2a6f5c94d894dbf339df917e64063840 to your computer and use it in GitHub Desktop.
Save ilayshp/2a6f5c94d894dbf339df917e64063840 to your computer and use it in GitHub Desktop.
[capi] node creation, add connection in xpresso, c4d
{
BaseDocument *doc = GetActiveDocument();
BaseObject *obj = (BaseObject *) doc->GetActiveObject();
if(!obj) return FALSE;
XPressoTag *xTag = (XPressoTag*)obj->GetTag(Texpresso, 0);
if(!xTag) return FALSE;
GvNodeMaster *nm = xTag->GetNodeMaster();
GvNode *n1 = nm->GetRoot();
GvPort *p1 = n1->AddPort(GV_PORT_OUTPUT, 536870935, GV_PORT_FLAG_IS_VISIBLE, TRUE);
GvNode *n2 = nm->CreateNode(nm->GetRoot(), ID_OPERATOR_BOX, NULL, 0, 0);
GvPort *p2 = n2->GetOutPort(0);
if (p1 && p2)
{
GvNode *n1u = NULL;
GvNode *n2u = NULL;
GvPort *p1u = NULL;
GvPort *p2u = NULL;
if (nm->IsConnectionValid(n1, p1, n2, p2, n1u, p1u, n2u, p2u))
{
n2->AddConnection(n1, p1, n2, p2);
}
}
nm->Message(MSG_UPDATE);
EventAdd();
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment