@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.
78 lines (77 loc) • 2.9 kB
TypeScript
import type { IFlowGraphBlockConfiguration } from "../../../flowGraphBlock.js";
import { FlowGraphTypes } from "../../../flowGraphRichTypes.js";
import { FlowGraphBinaryOperationBlock } from "../flowGraphBinaryOperationBlock";
import { FlowGraphUnaryOperationBlock } from "../flowGraphUnaryOperationBlock";
import { Matrix, Vector2, Vector3 } from "../../../../Maths/math.vector.js";
import { FlowGraphTernaryOperationBlock } from "../flowGraphTernaryOperationBlock";
import type { FlowGraphMatrix, FlowGraphVector } from "../../../utils.js";
/**
* Vector length block.
*/
export declare class FlowGraphLengthBlock extends FlowGraphUnaryOperationBlock<FlowGraphVector, number> {
constructor(config?: IFlowGraphBlockConfiguration);
private _polymorphicLength;
}
/**
* Configuration for normalized vector
*/
export interface IFlowGraphNormalizeBlockConfiguration extends IFlowGraphBlockConfiguration {
/**
* If true, the block will return NaN if the input vector has a length of 0.
* This is the expected behavior for glTF interactivity graphs.
*/
nanOnZeroLength?: boolean;
}
/**
* Vector normalize block.
*/
export declare class FlowGraphNormalizeBlock extends FlowGraphUnaryOperationBlock<FlowGraphVector, FlowGraphVector> {
constructor(config?: IFlowGraphNormalizeBlockConfiguration);
private _polymorphicNormalize;
}
/**
* Dot product block.
*/
export declare class FlowGraphDotBlock extends FlowGraphBinaryOperationBlock<FlowGraphVector, FlowGraphVector, number> {
constructor(config?: IFlowGraphBlockConfiguration);
private _polymorphicDot;
}
/**
* Cross product block.
*/
export declare class FlowGraphCrossBlock extends FlowGraphBinaryOperationBlock<Vector3, Vector3, Vector3> {
constructor(config?: IFlowGraphBlockConfiguration);
}
/**
* 2D rotation block.
*/
export declare class FlowGraphRotate2DBlock extends FlowGraphBinaryOperationBlock<Vector2, number, Vector2> {
constructor(config?: IFlowGraphBlockConfiguration);
}
/**
* 3D rotation block.
*/
export declare class FlowGraphRotate3DBlock extends FlowGraphTernaryOperationBlock<Vector3, Vector3, number, Vector3> {
constructor(config?: IFlowGraphBlockConfiguration);
}
/**
* Configuration for the transform block.
*/
export interface IFlowGraphTransformBlockConfiguration extends IFlowGraphBlockConfiguration {
/**
* The vector type
*/
vectorType: FlowGraphTypes;
}
/**
* Transform a vector3 by a matrix.
*/
export declare class FlowGraphTransformBlock extends FlowGraphBinaryOperationBlock<FlowGraphVector, FlowGraphMatrix, FlowGraphVector> {
constructor(config?: IFlowGraphTransformBlockConfiguration);
}
/**
* Transform a vector3 by a matrix.
*/
export declare class FlowGraphTransformCoordinatesBlock extends FlowGraphBinaryOperationBlock<Vector3, Matrix, Vector3> {
constructor(config?: IFlowGraphBlockConfiguration);
}