BlockHolder Class¶
Description¶
持有并管理场景中的Block和Annotation。
Properties¶
blocks¶
- typescript
public get blocks: BlockController[];
储存所有被持有的Block
annotations¶
- typescript
public get annotations(): BlockAnnotationController[];
返回场景中所有的Annotation组件。
blockRoot¶
- typescript
public get blockRoot(): BlockRootController;
public set blockRoot(value: BlockRootController): void;
场景中的BlockRootController组件。
currentTrackedBlock¶
- typescript
public get currentTrackedBlock(): BlockController[];
当前已定位到的block。
xrShadow¶
- typescript
public get xrShadow(): XrFrame.XRShadow;
public set xrShadow(value: XrFrame.XRShadow): void;
用于动态生成Block和Annotation的XRShadow节点。
Methods¶
getRoot¶
- typescript
public getRoot(): BlockRootController;
获取场景中的BlockRootController组件。
holdEma¶
- typescript
public holdEma(ema: IEmaData, option?: any): BlockHolder
持有一个ema数据,并在场景中创建对应的BlockController以及BlockAnnotationController
holdBlocks¶
- typescript
public holdBlocks(blocks: IEmaBlockData[]): void;
持有一组block,并在场景中创建对应的BlockController
holdBlock¶
- typescript
public holdBlock(blocks: IEmaBlockData): BlockController;
持有一个block,创建并返回场景中对应的BlockController
blockExist¶
- typescript
public blockExist(id: string): boolean;
判断block是否存在。
getBlockById¶
- typescript
public getBlockById(id: string): BlockController | null;
通过id获取一个block,不存在时返回null。
holdAnnotations¶
- typescript
public holdAnnotations(blocks: IEmaAnnotationNodeData[]): BlockAnnotationController[];
持有一组annotation,并在场景中创建对应的BlockAnnotationController
holdAnnotation¶
- typescript
public holdAnnotation(blocks: IEmaAnnotationNodeData): BlockAnnotationController;
持有一个annotation,创建并返回场景中对应的BlockAnnotationController
annotationExist¶
- typescript
public annotationExist(id: string): boolean;
判断annotation是否存在。
getAnnotationById¶
- typescript
public getAnnotationById(id: string): BlockAnnotationController | null;
通过id获取一个annotation,不存在时返回null。
onTracked¶
- typescript
public onTracked(value: any): void;
改变定位状态,内部调用。
reset¶
- typescript
public reset(): void;
重置BlockHolder,清空并删除所有的block和annotation; 注意:会释放所有的block和annotation及其所有子节点。
resetShadowRoot¶
- typescript
public resetShadowRoot(): void;
重置blockRoot和shadowRoot的关系,内部调用。
release¶
- typescript
public release(sceneExit?: boolean): void;
释放blockHolder,释放之后不可继续使用。