重构材质更新代码

pull/29/head
ChenX 7 years ago
parent 1ba99bdb1d
commit cf9b7e1f6c

@ -226,7 +226,6 @@ export class Circle extends Curve
UpdateDrawObject(type: RenderType, obj: Object3D) UpdateDrawObject(type: RenderType, obj: Object3D)
{ {
let line = obj as THREE.Line; let line = obj as THREE.Line;
line.material = ColorMaterial.GetLineMaterial(this.ColorIndex);
let geo = line.geometry as Geometry; let geo = line.geometry as Geometry;
this.UpdateGeometry(geo); this.UpdateGeometry(geo);
} }

@ -1,5 +1,7 @@
import { Vector3 } from 'three'; import { Mesh, Object3D, Vector3 } from 'three';
import { ColorMaterial } from '../Common/ColorPalette';
import { RenderType } from '../GraphicsSystem/Enum';
import { IntersectOption } from '../GraphicsSystem/IntersectWith'; import { IntersectOption } from '../GraphicsSystem/IntersectWith';
import { Factory } from './CADFactory'; import { Factory } from './CADFactory';
import { Entity } from './Entity'; import { Entity } from './Entity';
@ -87,4 +89,18 @@ export abstract class Curve extends Entity
*/ */
IntersectWith(curve: Curve, intType: IntersectOption): Vector3[] { return; } IntersectWith(curve: Curve, intType: IntersectOption): Vector3[] { return; }
//------------------绘制相关------------------
/**
* :
*
* @param {RenderType} type
* @param {Object3D} en
* @memberof Curve
*/
UpdateDrawObjectMaterial(type: RenderType, en: Object3D)
{
let m = en as Mesh;
m.material = ColorMaterial.GetLineMaterial(this.m_Color);
}
} }

@ -108,6 +108,7 @@ export class Entity extends CADObject
{ {
en.visible = !this._isErase; en.visible = !this._isErase;
this.UpdateDrawObject(type, en); this.UpdateDrawObject(type, en);
this.UpdateDrawObjectMaterial(type, en);
this.UpdateBoundingSphere(en); this.UpdateBoundingSphere(en);
} }
} }
@ -123,6 +124,18 @@ export class Entity extends CADObject
{ {
} }
/**
* ,
*
* @param {RenderType} type
* @param {Object3D} en
* @memberof Entity
*/
UpdateDrawObjectMaterial(type: RenderType, en: Object3D)
{
}
UpdateVisible() UpdateVisible()
{ {
for (let [, en] of this.m_DrawEntity) for (let [, en] of this.m_DrawEntity)

@ -35,8 +35,6 @@ export class Line extends Curve
{ {
let lineObj = en as THREE.Line; let lineObj = en as THREE.Line;
lineObj.material = ColorMaterial.GetLineMaterial(this.ColorIndex);
let geo = lineObj.geometry as THREE.Geometry; let geo = lineObj.geometry as THREE.Geometry;
geo.vertices[0].copy(this.m_StartPoint); geo.vertices[0].copy(this.m_StartPoint);

Loading…
Cancel
Save