UNPKG

@babylonjs/core

Version:

Getting started? Play directly with the Babylon.js API using our [playground](https://playground.babylonjs.com/). It also contains a lot of samples to learn how to use it.

112 lines (111 loc) 3.89 kB
import type { IFlowGraphBlockConfiguration } from "../../../flowGraphBlock.js"; import { FlowGraphBlock } from "../../../flowGraphBlock.js"; import type { FlowGraphContext } from "../../../flowGraphContext.js"; import type { FlowGraphDataConnection } from "../../../flowGraphDataConnection.js"; import { FlowGraphTypes } from "../../../flowGraphRichTypes.js"; import { Matrix, Quaternion, Vector3 } from "../../../../Maths/math.vector.js"; import { FlowGraphUnaryOperationBlock } from "../flowGraphUnaryOperationBlock.js"; import { FlowGraphBinaryOperationBlock } from "../flowGraphBinaryOperationBlock.js"; import type { FlowGraphMatrix } from "../../../utils.js"; /** * Configuration for the matrix blocks. */ export interface IFlowGraphMatrixBlockConfiguration extends IFlowGraphBlockConfiguration { /** * The type of the matrix. Default is Matrix (which is 4x4) */ matrixType: FlowGraphTypes; } /** * Transposes a matrix. */ export declare class FlowGraphTransposeBlock extends FlowGraphUnaryOperationBlock<FlowGraphMatrix, FlowGraphMatrix> { /** * Creates a new instance of the block. * @param config the configuration of the block */ constructor(config?: IFlowGraphMatrixBlockConfiguration); } /** * Gets the determinant of a matrix. */ export declare class FlowGraphDeterminantBlock extends FlowGraphUnaryOperationBlock<FlowGraphMatrix, number> { /** * Creates a new instance of the block. * @param config the configuration of the block */ constructor(config?: IFlowGraphMatrixBlockConfiguration); } /** * Inverts a matrix. */ export declare class FlowGraphInvertMatrixBlock extends FlowGraphUnaryOperationBlock<FlowGraphMatrix, FlowGraphMatrix> { /** * Creates a new instance of the inverse block. * @param config the configuration of the block */ constructor(config?: IFlowGraphMatrixBlockConfiguration); } /** * Multiplies two matrices. */ export declare class FlowGraphMatrixMultiplicationBlock extends FlowGraphBinaryOperationBlock<FlowGraphMatrix, FlowGraphMatrix, FlowGraphMatrix> { /** * Creates a new instance of the multiplication block. * Note - this is similar to the math multiplication if not using matrix per-component multiplication. * @param config the configuration of the block */ constructor(config?: IFlowGraphMatrixBlockConfiguration); } /** * Matrix decompose block */ export declare class FlowGraphMatrixDecomposeBlock extends FlowGraphBlock { /** * The input of this block */ readonly input: FlowGraphDataConnection<Matrix>; /** * The position output of this block */ readonly position: FlowGraphDataConnection<Vector3>; /** * The rotation output of this block */ readonly rotationQuaternion: FlowGraphDataConnection<Quaternion>; /** * The scaling output of this block */ readonly scaling: FlowGraphDataConnection<Vector3>; /** * Is the matrix valid */ readonly isValid: FlowGraphDataConnection<boolean>; constructor(config?: IFlowGraphBlockConfiguration); _updateOutputs(context: FlowGraphContext): void; getClassName(): string; } /** * Matrix compose block */ export declare class FlowGraphMatrixComposeBlock extends FlowGraphBlock { /** * The position input of this block */ readonly position: FlowGraphDataConnection<Vector3>; /** * The rotation input of this block */ readonly rotationQuaternion: FlowGraphDataConnection<Quaternion>; /** * The scaling input of this block */ readonly scaling: FlowGraphDataConnection<Vector3>; /** * The output of this block */ readonly value: FlowGraphDataConnection<Matrix>; constructor(config?: IFlowGraphBlockConfiguration); _updateOutputs(context: FlowGraphContext): void; getClassName(): string; }