Skip to content

模型操作

样例:

注意

效果不可叠加使用。使用一个效果前,必须先清除上一次效果。

edgeShow

显示模型轮廓

定义:

ts
interface EdgeSelectOptions {
  color?: IColor;
  hideColor?: IColor;
  edgeThickness?: number;
  edgeStrength?: number;
}
function edgeShow(object: BaseObject3D | BaseObject3D[], options?: EdgeSelectOptions): Promise<void>;

用法:

js
ssp.edgeShow(object, {
  color: 0xff6600,
});

参数:

object

  • 描述: 模型对象
  • 类型: BaseObject3D | BaseObject3D[]
  • 必填:

options

  • 描述: 配置选项
  • 类型: EdgeSelectOptions
  • 必填:

EdgeSelectOptions

属性描述类型必填默认值
color轮廓颜色IColor#fff
hideColor被遮挡时的轮廓颜色IColor#999
edgeThickness轮廓浓度number3
edgeStrength轮廓厚度number10

unEdgeShow

取消模型轮廓

定义:

ts
function unEdgeShow(objects?: BaseObject3D | BaseObject3D[]): Promise<void | void[]>;

用法:

js
ssp.unEdgeShow();

参数:

object

  • 描述: 如没有传参, 将取消整个场景内所有模型的轮廓
  • 类型: BaseObject3D | BaseObject3D[]
  • 必填:

strokeShow

显示模型描边

定义:

ts
interface StrokeSelectOptions extends BaseSelectOptions {
  isOpacityShow?: boolean;
  edgeColor?: IColor;
  edgeOpacity?: number;
  modelCache?: boolean;
  firstChild?: boolean;
}

function strokeShow(object: BaseObject3D | BaseObject3D[], options?: StrokeSelectOptions): Promise<void | void[]>;

用法:

js
const models = ssp.getAllModel();
ssp.strokeShow(models, {
  edgeOpacity: 0.5,
  isOpacityShow: false,
  firstChild: true,
});

参数:

object

  • 描述: 模型对象
  • 类型: BaseObject3D | BaseObject3D[]
  • 必填:

options

  • 描述: 配置选项
  • 类型: StrokeSelectOptions
  • 必填:

StrokeSelectOptions

继承自 BaseSelectOptions

属性描述类型必填默认值
isOpacityShow是否透明booleantrue
color颜色IColor0x46ebf7
opacity不透明度number0.2
edgeColor边缘颜色IColor0x00eeff
edgeOpacity边缘不透明度number1
modelCache当传入 Model 时是否缓存计算结果booleantrue
firstChild是否只作用第一个子节点booleanfalse

注意

计算边缘线框比较耗时,建议使用默认的 modelCache 减少重复计算。

该选项将使用 Model 的 url 作为缓存 key。

提示

由于模型可能存在嵌套结构,要独立计算每个 Model 对象本身时需要开启 firstChild,否则将包含所有子节点。

unStrokeShow

取消模型描边

定义:

ts
function unStrokeShow(objects?: BaseObject3D | BaseObject3D[]): Promise<void | void[]>;

用法:

js
ssp.unStrokeShow();

参数:

同 unEdgeShow

opacityShow

透明显示模型

定义:

ts
interface OpacitySelectOptions extends BaseSelectOptions {

}

opacityShow(object: BaseObject3D | BaseObject3D[], options?: OpacitySelectOptions): Promise<void | void[]>;

用法:

js
ssp.opacityShow(object, {
  color: 0xff6600,
});

参数:

object

  • 描述: 模型对象
  • 类型: BaseObject3D | BaseObject3D[]
  • 必填:

options

  • 描述: 配置选项
  • 类型: OpacitySelectOptions
  • 必填:

OpacitySelectOptions

继承自 BaseSelectOptions

属性描述类型必填默认值
color颜色IColor0xffffff
opacity不透明度number0.2

unOpacityShow

取消透明显示模型

定义:

ts
function unOpacityShow(objects?: BaseObject3D | BaseObject3D[]): Promise<void | void[]>;

用法:

js
ssp.unOpacityShow();

参数:

同 unEdgeShow

highlightShow

高亮显示模型

定义:

ts
interface HighlightSelectOptions extends BaseSelectOptions {}

function highlightShow(object: BaseObject3D | BaseObject3D[], options?: HighlightSelectOptions): Promise<void | void[]>;

用法:

js
ssp.highlightShow(object, { color: 0xff6600 });

参数:

object

  • 描述: 模型对象
  • 类型: BaseObject3D | BaseObject3D[]
  • 必填:

options

  • 描述: 配置选项
  • 类型: HighlightSelectOptions
  • 必填:

HighlightSelectOptions

继承自 BaseSelectOptions

属性描述类型必填默认值
color颜色IColor0xff0000
opacity不透明度number1

unHighlightShow

取消高亮显示模型

定义:

ts
function unHighlightShow(objects?: BaseObject3D | BaseObject3D[]): Promise<void | void[]>;

用法:

js
ssp.unHighlightShow();

参数:

同 unEdgeShow

emissiveShow

自发光显示模型

定义:

ts
interface EmissiveSelectOptions extends Omit<BaseSelectOptions, 'opacity'> {
  baseColor?: IColor;
  minOpacity?: number;
  maxOpacity?: number;
  duration?: number;
  yoyo?: boolean;
}

function emissiveShow(object: BaseObject3D | BaseObject3D[], options?: EmissiveSelectOptions): Promise<void | void[]>;

用法:

js
ssp.emissiveShow(object, { color: '#f00', maxOpacity: 1, minOpacity: 0, baseColor: '#ff8787' });

参数:

object

  • 描述: 模型对象
  • 类型: BaseObject3D | BaseObject3D[]
  • 必填:

options

  • 描述: 模型对象
  • 类型: EmissiveSelectOptions
  • 必填:

EmissiveSelectOptions

继承自 BaseSelectOptions

属性描述类型必填默认值
color自发光颜色IColorred
baseColor基础颜色IColor
minOpacity动画自发光强度最小值number0
maxOpacity动画自发光强度最大值number1
duration动画周期时长(ms)number1000
yoyo反向播放动画booleanfalse

unEmissiveShow

取消自发光显示模型

定义:

ts
function unEmissiveShow(objects?: BaseObject3D | BaseObject3D[]): Promise<void | void[]>;

用法:

js
ssp.unEmissiveShow();

参数:

同 unEdgeShow

浙ICP备16043491号