# Interface BoundingBoxController<OriginObject3D>

interface BoundingBoxController<
OriginObject3D extends THREE.Object3D = THREE.Object3D,
> {
hooks: Subscribe<HelperEventMap>;
originObject3D: Object3D;
preventTapDefaultEvent: boolean;
applyHelperMatrix4(matrix: Matrix4): void;
applyHelperQuaternion(quaternion: Quaternion, origin: Vector3): void;
applyHelperScaleMatrix4(matrix: Matrix4, origin?: Vector3): void;
disable(): void;
dispose(): void;
enable(): void;
getIsDragging(): boolean;
hide(): void;
initialHelperPosition(): void;
initialHelperQuaternion(): void;
onIntersectionOnModelUpdate(intersection: Intersection): void;
onWantsGesture(
type: string,
pointers: { x: number; y: number }[],
final: boolean,
): false | void;
onWantsTapGesture(raycaster: Raycaster): false | void;
show(): void;
updateHelperScale(): void;
updateOtherControllers(
otherControllers: {
moveController?: BaseController<BaseHelper<Object3D>, Object3D>;
rotateController?: BaseController<BaseHelper<Object3D>, Object3D>;
scaleController?: BaseController<BaseHelper<Object3D>, Object3D>;
},
): void;
}

#### Type Parameters

- OriginObject3D extends THREE.Object3D = THREE.Object3D

#### Hierarchy (View Summary)

- BaseController<BoundingBoxHelperAbstract<OriginObject3D>>
  - BoundingBoxController

- Defined in lib/plugins/Object3DHelperPlugin/Controllers/BoundingBoxController.ts:6

##### Index

### Properties

hooks
originObject3D
preventTapDefaultEvent

### Methods

applyHelperMatrix4
applyHelperQuaternion
applyHelperScaleMatrix4
disable
dispose
enable
getIsDragging
hide
initialHelperPosition
initialHelperQuaternion
onIntersectionOnModelUpdate
onWantsGesture
onWantsTapGesture
show
updateHelperScale
updateOtherControllers

## Properties

### hooks

hooks: Subscribe<HelperEventMap>

Inherited from BaseController.hooks

- Defined in lib/plugins/Object3DHelperPlugin/Controllers/BaseController.ts:31

### originObject3D

originObject3D: Object3D

Inherited from BaseController.originObject3D

- Defined in lib/plugins/Object3DHelperPlugin/Controllers/BaseController.ts:30

### preventTapDefaultEvent

preventTapDefaultEvent: boolean = false

Inherited from BaseController.preventTapDefaultEvent

- Defined in lib/plugins/Object3DHelperPlugin/Controllers/BaseController.ts:32

## Methods

### applyHelperMatrix4

- applyHelperMatrix4(matrix: Matrix4): void

  @description: applyHelperMatrix4

  #### Parameters

  - matrix: Matrix4

    position 偏移量

  #### Returns void

  Inherited from BaseController.applyHelperMatrix4

  - Defined in lib/plugins/Object3DHelperPlugin/Controllers/BaseController.ts:203

### applyHelperQuaternion

- applyHelperQuaternion(quaternion: Quaternion, origin: Vector3): void

  @description: applyHelperQuaternion

  #### Parameters

  - quaternion: Quaternion

    旋转四元数

  - origin: Vector3

    旋转中心

  #### Returns void

  Inherited from BaseController.applyHelperQuaternion

  - Defined in lib/plugins/Object3DHelperPlugin/Controllers/BaseController.ts:212

### applyHelperScaleMatrix4

- applyHelperScaleMatrix4(matrix: Matrix4, origin?: Vector3): void

  @description: applyHelperScaleMatrix4

  #### Parameters

  - matrix: Matrix4

    缩放矩阵

  - `Optional` origin: Vector3

    缩放中心

  #### Returns void

  Inherited from BaseController.applyHelperScaleMatrix4

  - Defined in lib/plugins/Object3DHelperPlugin/Controllers/BaseController.ts:221

### disable

- disable(): void

  #### Returns void

  Inherited from BaseController.disable

  - Defined in lib/plugins/Object3DHelperPlugin/Controllers/BaseController.ts:176

### dispose

- dispose(): void

  #### Returns void

  Inherited from BaseController.dispose

  - Defined in lib/plugins/Object3DHelperPlugin/Controllers/BaseController.ts:193

### enable

- enable(): void

  #### Returns void

  Inherited from BaseController.enable

  - Defined in lib/plugins/Object3DHelperPlugin/Controllers/BaseController.ts:168

### getIsDragging

- getIsDragging(): boolean

  获取当前控制器的拖拽状态

  #### Returns boolean

  Inherited from BaseController.getIsDragging

  - Defined in lib/plugins/Object3DHelperPlugin/Controllers/BaseController.ts:71

### hide

- hide(): void

  #### Returns void

  Inherited from BaseController.hide

  - Defined in lib/plugins/Object3DHelperPlugin/Controllers/BaseController.ts:188

### initialHelperPosition

- initialHelperPosition(): void

  #### Returns void

  Inherited from BaseController.initialHelperPosition

  - Defined in lib/plugins/Object3DHelperPlugin/Controllers/BaseController.ts:160

### initialHelperQuaternion

- initialHelperQuaternion(): void

  #### Returns void

  Inherited from BaseController.initialHelperQuaternion

  - Defined in lib/plugins/Object3DHelperPlugin/Controllers/BaseController.ts:164

### onIntersectionOnModelUpdate

- onIntersectionOnModelUpdate(intersection: Intersection): void

  #### Parameters

  - intersection: Intersection

  #### Returns void

  Inherited from BaseController.onIntersectionOnModelUpdate

  - Defined in lib/plugins/Object3DHelperPlugin/Controllers/BaseController.ts:243

### onWantsGesture

- onWantsGesture(
  type: string,
  pointers: { x: number; y: number }[],
  final: boolean,
  ): false | void

  #### Parameters

  - type: string
  - pointers: { x: number; y: number }[]
  - final: boolean

  #### Returns false | void

  Inherited from BaseController.onWantsGesture

  - Defined in lib/plugins/Object3DHelperPlugin/Controllers/BaseController.ts:239

### onWantsTapGesture

- onWantsTapGesture(raycaster: Raycaster): false | void

  #### Parameters

  - raycaster: Raycaster

  #### Returns false | void

  Inherited from BaseController.onWantsTapGesture

  - Defined in lib/plugins/Object3DHelperPlugin/Controllers/BaseController.ts:225

### show

- show(): void

  #### Returns void

  Inherited from BaseController.show

  - Defined in lib/plugins/Object3DHelperPlugin/Controllers/BaseController.ts:183

### updateHelperScale

- updateHelperScale(): void

  #### Returns void

  Inherited from BaseController.updateHelperScale

  - Defined in lib/plugins/Object3DHelperPlugin/Controllers/BaseController.ts:231

### updateOtherControllers

- updateOtherControllers(
  otherControllers: {
  moveController?: BaseController<BaseHelper<Object3D>, Object3D>;
  rotateController?: BaseController<BaseHelper<Object3D>, Object3D>;
  scaleController?: BaseController<BaseHelper<Object3D>, Object3D>;
  },
  ): void

  更新其他控制器的引用

  #### Parameters

  - otherControllers: {
    moveController?: BaseController<BaseHelper<Object3D>, Object3D>;
    rotateController?: BaseController<BaseHelper<Object3D>, Object3D>;
    scaleController?: BaseController<BaseHelper<Object3D>, Object3D>;
    }

  #### Returns void

  Inherited from BaseController.updateOtherControllers

  - Defined in lib/plugins/Object3DHelperPlugin/Controllers/BaseController.ts:60