Skip to content

Custom Ice nodes(cpp)

Pedrito edited this page Jan 11, 2019 · 1 revision

PC_Bezier_Curve:

Similar to the native bezier Curve but smoother (more like native cubic curves), it needs an linear array of positions, and a linear array of U values

PC_RCVN_V2(Recalculate Curve Normals / Parallel Transport Frame):

Fix the problem with the flipping Normals on curves

PC_CVData2(Get Curve data):

Gets positions/normals/tangents in a curve or group of curves referenced by their names. It can compute even Spaced points per curve or a fixed Nb points by connecting a U array( it can return the positions using the u value as a UV value or a percentage) it also can return the u value converted to percentage or to uv as you choose. It also can return positions based on Knot Subdivision

PC_Instance_Shape:

Instance a shape by it’s name not by its reference (using the node reference to string or typing directly). It can only set the RBD mode as BoundingBox, so don’t use in rbd sims.

PC_Get_Object_ID:

Returns the internal XSI ID for the “string referenced object”

PC_CamAttrs:

Returns the basic camera attributes for the “string referenced object” (you can write “Render Pass” to use the actual render pass camera. It returns the camera matrix and the scalar attributes in this order: (fov,aspect,far,near,FrustrumLeft,FrustrumRight,FrustrumBack,FrustrumTop)

PC_Set_Attribute:

Sets an ICE attribute (create it if necessary) with the specified AttributeName in the “string referenced object”. This is useful to set data on multiple objects at the same time. Use it with caution. Don’t try to override the the system attributes.

PC_Acumulate_Attribute:

This Allows to set data the same as PC_Set_Attribute but in addition you can specify if you want to accumulate values each evaluation time, or if you want the current value to sum the new value

PC_Number_to_String:

Convert a number to a string. If is a float number you can specify the precision on the conversion If is an integer you can specify the padding

PC_Resolve_Tokens:

Resolve default tokens on strings

PC_FileChk:

Checks if a file exists on the system, it can use token strings

PC_Subdivide_Array:

Subdivide the input array linearly the specified nb

PC_Array_Acumulate_Op:

Return an matching nb of elements array in which each element is the input element plus the prev output element. It can sum,sub,mul and div. sample(Input: a,b,c... → output(sum) : a, a+b, a+b+c…)

PC_Find_ArrayinArray:

Find each element on the first array into the second array and returns the first matching index if it exist.

PC_CompareArrays:

Compare each element on the first array with each element on the second until the condition is reached and returns the first matching index if exist.

PC_X360C:

Creates an Instance of an XINPUT Xbox360 Controller and outputs itself. You can specify which port

PC_X360C_GetData:

Gets the State of the XINPUT Xbox360 Controller as a Scalar Array( there is a compound that exposes each button with name) Array Order: (StickLX, StickLY, StickRX, StickRY, LT, RT, A,B, X, Y, LB, RB, StickLClick, StickRClick, Back, Start, LEFT, RIGHT, UP, DOWN)

PC_X360C_Vibrate:

Sets the L and R vibration of the input XINPUT Xbox360 Controller

PC_X360C_SetDeadZone:

Calibrate the Dead Zone of the XINPUT Xbox360 Controller

PC_GetKeyState:

Return the state of the specified Keyboard Key