@realsee/dnalogel
Version:
54 lines (53 loc) • 1.65 kB
TypeScript
import type { Five, State as FiveState } from '@realsee/five';
import type { TagInstance } from '../typings';
import { TagUtil } from './TagUtil';
export declare abstract class TagComputer extends TagUtil {
protected constructor(five: Five);
/**
* @description: 获取是否可见
*/
getVisible(tag: TagInstance, fiveState?: Partial<FiveState>): boolean;
/**
* @description: 获取是否展开
*/
getUnfoldedByPanoIndex(tag: TagInstance, panoIndex?: number): boolean;
/**
* @description: 获取是否展开
*/
getUnfoldedByCamera(tag: TagInstance): boolean;
protected setTagZIndex(tags: TagInstance[]): void;
protected calculateTagZIndex(tag: TagInstance): number;
protected setVisible(tags?: TagInstance[]): void;
protected setUnfoldedByPanoIndex(): void;
/**
* @description 一个点的标签
*/
protected getTagProject(tag: TagInstance): {
x: number;
y: number;
z: number;
};
/** 通过射线检测标签可用性 */
protected getTagEnableByIntersect(tag: TagInstance, panoIndex?: number): {
value: boolean;
reason: {
type: string;
fivePanoIndex: number;
passedCount?: undefined;
needPassed?: undefined;
};
} | {
value: boolean;
reason?: undefined;
} | {
value: boolean;
reason: {
type: string;
passedCount: number;
needPassed: number;
fivePanoIndex?: undefined;
};
};
/** 检测是否匹配当前楼层 */
private getVisibleByFloorIndex;
}