Move the size parameter to the renderer control
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
import { LabelObject } from "@Model/Label"
|
||||
import type { Model } from "@Model/Model";
|
||||
import type { IAnyObject, Model } from "@Model/Model";
|
||||
import type { ObjectID } from "@Model/Model";
|
||||
|
||||
/**
|
||||
@@ -37,6 +37,11 @@ class CtrlObject extends LabelObject {
|
||||
*/
|
||||
protected model: Model;
|
||||
|
||||
/**
|
||||
* 渲染数据
|
||||
*/
|
||||
public renderParameter: IAnyObject = {};
|
||||
|
||||
/**
|
||||
* 构造器
|
||||
*/
|
||||
|
||||
+10
-4
@@ -3,6 +3,8 @@ import { CtrlObject } from "@Model/CtrlObject";
|
||||
import type { Behavior } from "@Model/Behavior";
|
||||
import { Label } from "@Model/Label";
|
||||
import { Range } from "@Model/Range";
|
||||
import { Model, ObjectID } from "@Model/Model";
|
||||
import { getDefaultValue } from "@Model/Parameter";
|
||||
|
||||
enum GenMod {
|
||||
Point = "p",
|
||||
@@ -380,11 +382,15 @@ class Group extends CtrlObject {
|
||||
});
|
||||
return dataBuffer;
|
||||
}
|
||||
|
||||
public constructor(model: Model, id: ObjectID) {
|
||||
|
||||
/**
|
||||
* 绘制大小
|
||||
*/
|
||||
public size: number = 60;
|
||||
super(model, id);
|
||||
|
||||
if (model.renderer) {
|
||||
this.renderParameter = getDefaultValue(model.renderer.pointsParameterOption);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
export default Group;
|
||||
|
||||
@@ -362,16 +362,12 @@ class Model extends Emitter<ModelEvent> {
|
||||
// 渲染
|
||||
for (let i = 0; i < this.objectPool.length; i++) {
|
||||
let object = this.objectPool[i];
|
||||
object.renderParameter.color = object.color;
|
||||
if (object.display && object instanceof Group) {
|
||||
this.renderer.points(object.id, object.exportPositionData(), {
|
||||
color: object.color,
|
||||
size: object.size
|
||||
} as any);
|
||||
this.renderer.points(object.id, object.exportPositionData(), object.renderParameter);
|
||||
}
|
||||
if (object.display && object instanceof Range) {
|
||||
this.renderer.cube(object.id, object.position, object.radius, {
|
||||
color: object.color
|
||||
} as any);
|
||||
this.renderer.cube(object.id, object.position, object.radius, object.renderParameter);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
import { CtrlObject } from "@Model/CtrlObject";
|
||||
import { Model, ObjectID } from "@Model/Model";
|
||||
import { getDefaultValue } from "@Model/Parameter";
|
||||
|
||||
/**
|
||||
* 范围
|
||||
@@ -15,6 +17,15 @@ class Range extends CtrlObject {
|
||||
*/
|
||||
public radius: number[] = [1, 1, 1];
|
||||
|
||||
public constructor(model: Model, id: ObjectID) {
|
||||
|
||||
super(model, id);
|
||||
|
||||
if (model.renderer) {
|
||||
this.renderParameter = getDefaultValue(model.renderer.cubeParameterOption);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
export default Range;
|
||||
|
||||
Reference in New Issue
Block a user