gi-nx / getParameterNodeDefaultTransform
ts
function getParameterNodeDefaultTransform(nodeType: string): any;Returns the default transform object for a given generative transform node type.
Parameters
| Parameter | Type | Description |
|---|---|---|
nodeType | string | The node type string (e.g. a NodeIds value). |
Returns
any
Throws
If the node type is not registered, or if it does not have a transform object input.
Example
typescript
// Node type GUIDs — see https://gi-docs-beta.web.app/md/nodes.md
const ENVELOPE = '2fee2ab8-18fb-42d3-bd2e-153c2c291058';
const ENVELOPE_TRANSFORM = '7bc5a2c9-09fe-47f8-961d-f8986f0b76b0';
const READ_FEATURE = '1a4c8f02-f831-4bdd-b2f8-c9b647b10266';
const WRITE_FEATURE = 'ed22a41d-e114-4734-876f-2362d02fc5ce';
const transform = gi.getParameterNodeDefaultTransform(ENVELOPE);
// transform:
// {
// type: 'envelope',
// parameters: {
// maxHeight: 12,
// sideIndices: { rear: [], front: [0] },
// setbackSteps: {
// rear: [{ inset: 0, height: 3 }, { inset: 9 }],
// side: [{ inset: 1 }],
// front: [{ inset: 0, height: 3 }, { inset: 2, height: 3 }, { inset: 5 }],
// },
// hasSetbackOutput: true
// },
// }
const flowId = nanoid();
const entryId = nanoid();
const envelopeId = nanoid();
const envelopeTransformId = nanoid();
const exitId = nanoid();
const makeEdge = (
source: string, sourceHandle: string,
target: string, targetHandle: string
) => ({
id: `reactflow__edge-${source}${sourceHandle}-${target}${targetHandle}`,
source, sourceHandle,
target, targetHandle,
type: 'giraffeNodesEdge'
});
const makeNode = (id: string, type: string, position = { x: 0, y: 0 }, data = {}) => ({
id, type, position, data
});
const nodes = [
makeNode(entryId, READ_FEATURE, { x: 0, y: 0 }),
makeNode(envelopeId, ENVELOPE, { x: 200, y: 0 }),
makeNode(envelopeTransformId, ENVELOPE_TRANSFORM, { x: 200, y: -200 }),
makeNode(exitId, WRITE_FEATURE, { x: 400, y: 0 }),
];
const edges = [
makeEdge(entryId, 'feature', envelopeId, 'feature'),
makeEdge(envelopeId, 'transform', envelopeTransformId, 'transform'),
makeEdge(envelopeTransformId, 'envelope', exitId, 'feature'),
];
gi.addFlow({ id: flowId, name: 'Envelope Flow', nodes, edges });
const features = await giGetFeatures();
await gi.updateRawSection({
properties: {
id: features[0].properties.id,
flow: { id: flowId, inputs: { [envelopeTransformId]: transform } }
}
});