Link() public method

Must have been linked with an entity and ID before.
public Link ( idClip clip ) : void
clip idClip
return void
Ejemplo n.º 1
0
        public override void SetClipModel(idClipModel model, float density, int id = 0, bool disposeOld = true)
        {
            if (this.Disposed == true)
            {
                throw new ObjectDisposedException(this.GetType().Name);
            }

            if (model.IsTraceModel == false)
            {
                throw new ArgumentException("model should be a trace model");
            }

            if (density <= 0.0f)
            {
                throw new ArgumentException("density must be valid");
            }

            if ((_clipModel != null) && (_clipModel != model) && (disposeOld == true))
            {
                _clipModel.Dispose();
            }

            _clipModel = model;
            _clipModel.Link(idR.Game.Clip, this.Self, 0, _clipModel.Origin, _clipModelAxis);
        }
Ejemplo n.º 2
0
        public void SetClipModelAxis()
        {
            // align clip model to gravity direction
            if ((_gravityNormal.Z == -1.0f) || (_gravityNormal == Vector3.Zero))
            {
                _clipModelAxis = Matrix.Identity;
            }
            else
            {
                Vector3 v1 = new Vector3(_clipModelAxis.M11, _clipModelAxis.M12, _clipModelAxis.M13);
                Vector3 v2 = new Vector3(_clipModelAxis.M21, _clipModelAxis.M22, _clipModelAxis.M23);
                Vector3 v3 = -_gravityNormal;

                idHelper.NormalVectors(v3, ref v1, ref v2);

                _clipModelAxis.M31 = v3.X;
                _clipModelAxis.M32 = v3.Y;
                _clipModelAxis.M33 = v3.Z;
                _clipModelAxis.M34 = 1;

                _clipModelAxis.M21 = v2.X;
                _clipModelAxis.M22 = v2.Y;
                _clipModelAxis.M23 = v2.Z;
                _clipModelAxis.M24 = 1;

                _clipModelAxis.M11 = -v1.X;
                _clipModelAxis.M12 = -v1.Y;
                _clipModelAxis.M13 = -v1.Z;
                _clipModelAxis.M14 = 1;
            }

            if (_clipModel != null)
            {
                _clipModel.Link(idR.Game.Clip, _self, 0, _clipModel.Origin, _clipModelAxis);
            }
        }
Ejemplo n.º 3
0
        public override void SetClipModel(idClipModel model, float density, int id = 0, bool disposeOld = true)
        {
            if (this.Disposed == true)
            {
                throw new ObjectDisposedException(this.GetType().Name);
            }

            if ((_clipModel != null) && (_clipModel != model) && (disposeOld == true))
            {
                _clipModel.Dispose();
            }

            _clipModel = model;

            if (_clipModel != null)
            {
                _clipModel.Link(idR.Game.Clip, _self, 0, _origin, _axis);
            }
        }
Ejemplo n.º 4
0
        public override bool Evaluate(int timeStep, int endTime)
        {
            if (this.Disposed == true)
            {
                throw new ObjectDisposedException(this.GetType().Name);
            }

            Vector3 masterOrigin, oldOrigin;
            Matrix  masterAxis, oldAxis;

            if (_hasMaster == true)
            {
                oldOrigin = _origin;
                oldAxis   = _axis;

                _self.GetMasterPosition(out masterOrigin, out masterAxis);
                _origin = Vector3.Transform(masterOrigin + _localOrigin, masterAxis);

                if (_isOrientated == true)
                {
                    _axis = _localAxis * masterAxis;
                }
                else
                {
                    _axis = _localAxis;
                }

                if (_clipModel != null)
                {
                    _clipModel.Link(idR.Game.Clip, _self, 0, _origin, _axis);
                }

                return((_origin != oldOrigin) || (_axis != oldAxis));
            }

            return(false);
        }
Ejemplo n.º 5
0
		public override void SetClipModel(idClipModel model, float density, int id = 0, bool disposeOld = true)
		{
			if(this.Disposed == true)
			{
				throw new ObjectDisposedException(this.GetType().Name);
			}

			if(model.IsTraceModel == false)
			{
				throw new ArgumentException("model should be a trace model");
			}

			if(density <= 0.0f)
			{
				throw new ArgumentException("density must be valid");
			}

			if((_clipModel != null) && (_clipModel != model) && (disposeOld == true))
			{
				_clipModel.Dispose();
			}

			_clipModel = model;
			_clipModel.Link(idR.Game.Clip, this.Self, 0, _clipModel.Origin, _clipModelAxis);
		}
Ejemplo n.º 6
0
		public override void SetClipModel(idClipModel model, float density, int id = 0, bool disposeOld = true)
		{
			if(this.Disposed == true)
			{
				throw new ObjectDisposedException(this.GetType().Name);
			}

			if((_clipModel != null) && (_clipModel != model) && (disposeOld == true))
			{
				_clipModel.Dispose();
			}

			_clipModel = model;

			if(_clipModel != null)
			{
				_clipModel.Link(idR.Game.Clip, _self, 0, _origin, _axis);
			}
		}