/* ======================================User Functions====================================== */ /* Group duplication functions */ proc createGroupLine(string $gname, int $num, vector $s, vector $d, int $bt, int $et, int $l); proc createGroupCircle(string $gname, int $num, vector $c, float $r, float $bt, float $et, int $l); proc createGroupCircle2(string $gname, int $num, vector $c, vector $f, float $r, float $ba, float $bt, float $et, int $l); proc createGroupLineDemo(string $gname, int $num, vector $s, vector $d, int $bt, int $et); proc createGroupLineRandom(string $gname, int $num, vector $s, vector $d, float $min, float $max, int $bt, int $et, int $l); /* Group key modification functions */ proc createVariableRotation(string $gname, vector $r, float $bt, float $et); proc translateGroup(string $gname, vector $t); proc rotateGroup(string $gname, vector $r); proc scaleGroup(string $gname, float $s); proc scaleGroupTime(string $gname, float $t1, float $t2); proc randomizeGroup(string $gname, float $min, float $max); /* File Save/Load functions */ proc saveGroupToFile(string $gname, string $filename); proc saveGroupToFileNoNorm(string $gname, string $filename); proc loadKeysFromFile(string $filename, float $bt, float $et); proc loadKeysFromFileNoNorm(string $filename); /* Path Animation functions */ proc createPathGroupRotUp(string $objname, string $curvname, int $num, float $st, float $t, float $d, string $f, string $u, float $c, float $pl, string $r, string $ro, string $rs) proc createPathGroupRot(string $objname, string $curvname, int $num, float $st, float $t, float $d, string $f, float $c, float $pl, string $r, string $ro, string $rs) proc createPathGroup(string $objname, string $curvname, int $num, float $st, float $t, float $d, string $f, string $u); proc createPathAnim(string $objname, string $curvname, int $num, float $st, float $et, float $l); //Broken proc pathAnimationLoop(string $objname, string $curvname, float $sf, float $ef, float $su, float $eu); //Broken /* Misc functions */ proc show(string $s); /* ======================================Advanced User Functions====================================== */ /* Key storage functions */ proc storeKeysNoNorm(string $gnodename, string $gname); proc storeKeys(string $gnodename, string $gname); proc storeKeysPrint(string $gnodename, string $gname); /* Key setting functions */ proc setAllKeys(string $nodename, float $bt, float $et); proc setAllKeysNoNorm(string $nodename); /* Object Set modificaion functions */ proc translateAttrGroup(string $nodename, string $attr, vector $t); proc rotateAttrGroup(string $nodename, string $attr, vector $t); proc rotateAttrGroupVariable(string $nodename, string $attr, vector $t); proc randomizeGroupNodeTimes(string $nodename, float $min, float $max); proc scaleAttrGroup(string $nodename, string $attr, float $s); /* Object Set misc functions */ proc deleteObjSet(string $nodename); proc saveObjSetToFile(string $nodename, string $filename); /* Group Key misc functions */ proc deleteObjKeys(string $objname); proc deleteGroupKeys(string $gname); /* ======================================Helper Functions====================================== */ /* Object/Key Set functions */ proc setAllKeysetKeys(string $group, string $nodename, float $bt, float $et); proc setAllKeysetKeysNoNorm(string $group, string $nodename); proc copyKeysetNode(string $nodename, string $newname); proc copyGroupNode(string $nodename, string $newname); proc translateAttrKeyset(string $nodename, string $attr, vector $t); proc rotateAttrKeyset(string $nodename, string $attr, vector $t); proc rotateAttrKeysetVariable(string $nodename, string $attr, vector $t); proc createKeysetNode(string $nodename); proc createObjsetNode(string $nodename, string $gname); proc int getAllKeysForAttr(string $objname, string $attrname, int $attrnum, string $nodename); proc int getAllKeysForAttrPrint(string $objname, string $attrname, int $attrnum, string $nodename); proc int getAllKeysForObj(string $objname, string $nodename); proc int getAllKeysForObjPrint(string $objname, string $nodename); proc addKeyToNode(string $nodename, int $attrnum, int $keynum, float $time, float $value); proc int[] numTranslate(string $nodename); proc int[] numXYZattr(string $nodename, string $attr); proc randomizeKeysetNodeTimes(string $nodename, float $min, float $max); proc scaleAttrKeyset(string $nodename, string $attr, float $s); /* Key functions */ proc setGKey(string $group, string $obj, string $attr, float $val, float $time); proc int getNumOfKeys(string $objname, string $attrname); proc float[] getKeyAtIndex(string $objname, string $attrname, int $i); /* File IO functions */ proc saveKeySetToFile(int $outfile, string $nodename); proc string fgetString(int $infile, string $pre); proc string fgetStringNoErr(int $infile, string $pre); proc string loadObjSetFromFile(string $filename); /* Misc functions */ proc float getMaxTime(string $gn); proc normalizeTimes(string $gn, float $maxTime); proc int findFirstInstance(string $s, string $sub); proc string removeParent(string $s); proc vector rotateX(vector $v, float $a); proc vector rotateY(vector $v, float $a); proc vector rotateZ(vector $v, float $a); proc vector translate(vector $v, vector $t); proc vector normalizeVect(vector $v);