export type RestrictionDefinition = IPointRestrictionDefinition | ILineRestrictionDefinition | IPlaneRestrictionDefinition | ICameraPlaneRestrictionDefinition | IGeometryRestrictionDefinition; /** * Rotation defined by an angle and an axis. */ export type Rotation = { /** The angle of the rotation. */ angle: number; /** The axis of the rotation. */ axis: number[]; }; export interface ICameraPlaneRestrictionDefinition extends IRestrictionDefinition { type: "camera_plane"; } export interface IGeometryRestrictionDefinition extends IRestrictionDefinition { /** The name filter for the objects that can be dragged with the defined settings. */ nameFilter: string[]; /** If the restriction should be displayed as a wireframe line. */ wireframe?: boolean; /** The color of the wireframe. */ wireframeColor?: string; type: "geometry"; } export interface ILineRestrictionDefinition extends IRestrictionDefinition { /** The first point of the restriction. */ point1: number[]; /** The second point of the restriction. */ point2: number[]; /** The radius of the restriction. */ radius: number; type: "line"; /** If the restriction should be displayed as a wireframe line. */ wireframe?: boolean; /** The color of the wireframe. */ wireframeColor?: string; } export interface IPlaneRestrictionDefinition extends IRestrictionDefinition { /** The origin of the plane. */ origin: number[]; type: "plane"; /** The first vector of the plane. */ vector_u: number[]; /** The second vector of the plane. */ vector_v: number[]; /** Optional grid snap restriction properties. */ gridSnapRestriction?: { /** Size of the grid unit. */ gridUnit?: number; }; } export interface IPointRestrictionDefinition extends IRestrictionDefinition { /** The point of the restriction. */ point: number[]; /** The radius of the restriction. */ radius: number; type: "point"; /** If the restriction should be displayed as a wireframe point. */ wireframe?: boolean; /** The color of the wireframe. */ wireframeColor?: string; } export interface IRestrictionDefinition { /** The unique id of the restriction. */ id: string; /** Optional rotation of the restriction. */ rotation?: Rotation; /** The type of the restriction. */ type: "point" | "line" | "plane" | "camera_plane" | "geometry"; } //# sourceMappingURL=IRestrictionSettings.d.ts.map