protected override void DoUpdate(double elapsedTime) { if (this.self == null) { this.self = this.BindingObject.Renderer as IModelTransform; } //this.self.ModelMatrix = glm.translate(mat4.identity(), new vec3()); if (this.target != null) { vec4 position = this.target.ModelMatrix * new vec4(this.labelPosition.Position, 1.0f); this.self.ModelMatrix = glm.translate(mat4.identity(), new vec3(position)); } else { vec3 position = this.labelPosition.Position; this.self.ModelMatrix = glm.translate(mat4.identity(), position); } }
protected override void DoUpdate(double elapsedTime) { if (this.renderer == null) { this.renderer = this.BindingObject.Renderer as BuildInRenderer; this.planetTransform = this.BindingObject.Parent.Renderer as IModelTransform; } double deltaAngle = elapsedTime * Math.PI * 2 / this.RevolutionPeriod; double newAngle = this.currentAngle + deltaAngle; var position = new vec3( (float)(this.RevolutionRadius * Math.Cos(newAngle)), 0, (float)(this.RevolutionRadius * Math.Sin(newAngle))) + this.planetTransform.ModelMatrix.GetTranslate(); this.currentAngle = newAngle; this.renderer.ModelMatrix = glm.translate(mat4.identity(), position); }
protected override void AddTransform(IModelTransform t, (float, float, float) vec)
protected override void DoInitialize() { this.transformScript = this.BindingObject.GetScript<TransformScript>(); this.modelTransform = this.BindingObject.Renderer as IModelTransform; }
/// <summary> /// /// </summary> /// <param name="labelPosition"></param> public LabelTargetScript(ILabelPosition labelPosition) { // TODO: Complete member initialization this.labelPosition = labelPosition; this.target = labelPosition as IModelTransform; }
internal IfcTransform(IModelTransform transform) { transformDelegate = transform; }
protected override void DoInitialize() { this.transformScript = this.BindingObject.GetScript <TransformScript>(); this.modelTransform = this.BindingObject.Renderer as IModelTransform; }