Ejemplo n.º 1
0
        internal void Create(Vector3 wpos, Transformation RailTransformation, double StartingDistance, double EndingDistance, double Brightness)
        {
            double dz = TrackPosition - StartingDistance;

            if (ShowPost)
            {
                // post
                double dx = Position.X;
                wpos += dx * RailTransformation.X + dz * RailTransformation.Z;
                CompatibilityObjects.SignalPost.CreateObject(wpos, RailTransformation, Transformation.NullTransformation, -1, StartingDistance, EndingDistance, TrackPosition, Brightness);
            }
            if (ShowObject)
            {
                // signal object
                double dx = Position.X;
                double dy = Position.Y;
                wpos += dx * RailTransformation.X + dy * RailTransformation.Y + dz * RailTransformation.Z;
                SignalObject.Create(wpos, RailTransformation, new Transformation(Yaw, Pitch, Roll), SectionIndex, StartingDistance, EndingDistance, TrackPosition, Brightness);
            }
        }
Ejemplo n.º 2
0
        internal void Create(Vector3 wpos, Transformation RailTransformation, double StartingDistance, double EndingDistance, double Brightness)
        {
            double dz = TrackPosition - StartingDistance;

            if (ShowPost)
            {
                /*
                 * Post-
                 * Need to clone a copy of the vector for transform
                 * Do it in the post as this is the lesser used option
                 */
                Vector3 wpos2 = new Vector3(wpos);
                wpos2 += Position.X * RailTransformation.X + dz * RailTransformation.Z;
                CompatibilityObjects.SignalPost.CreateObject(wpos2, RailTransformation, Transformation.NullTransformation, -1, StartingDistance, EndingDistance, TrackPosition, Brightness);
            }
            if (ShowObject)
            {
                // signal object
                wpos += Position.X * RailTransformation.X + Position.Y * RailTransformation.Y + dz * RailTransformation.Z;
                SignalObject.Create(wpos, RailTransformation, new Transformation(Yaw, Pitch, Roll), SectionIndex, StartingDistance, EndingDistance, TrackPosition, Brightness);
            }
        }