Example #1
0
        void Process()
        {
            if (input.Input.Data == null || input2.Input.Data == null)
            {
                return;
            }

            float v = 0;

            object o1 = input.Input.Data;
            object o2 = input2.Input.Data;

            if (o1 is MVector && o2 is MVector)
            {
                v = MVector.Dot((MVector)o1, (MVector)o2);
            }

            output.Data = v;
            output.Changed();

            if (ParentGraph != null)
            {
                FunctionGraph g = (FunctionGraph)ParentGraph;

                if (g != null && g.OutputNode == this)
                {
                    g.Result = output.Data;
                }
            }
        }
Example #2
0
        public override void TryAndProcess()
        {
            if (!input.IsValid || !input2.IsValid)
            {
                return;
            }

            try
            {
                MVector v1 = (MVector)input.Data;
                MVector v2 = (MVector)input2.Data;

                output.Data = MVector.Dot(v1, v2);

                result = output.Data?.ToString();
            }
            catch (Exception e)
            {
                Log.Error(e);
            }
        }
Example #3
0
 float rand(ref MVector vec2)
 {
     return(fract((float)Math.Sin(MVector.Dot(vec2, new MVector(12.9898f, 78.233f))) * 43758.5453f));
 }
Example #4
0
 public static float Rand(ref MVector vec2)
 {
     return(Fract((float)Math.Sin(MVector.Dot(vec2, new MVector(12.9898f, 78.233f))) * 43758.5453f) * 2.0f - 1.0f);
 }