public DisplayEllipseSwingLimit(EllipseSwingLimit constraint, LineDrawer drawer)
     : base(drawer, constraint)
 {
     axis = new Line(Color.Red, Color.Red, drawer);
     myLines.Add(axis);
     //Create the lines that represent the outline of the limit.
     limitLines = new Line[limitFacetCount * 2];
     for (int i = 0; i < limitFacetCount; i++)
     {
         limitLines[i * 2]     = new Line(Color.DarkRed, Color.DarkRed, drawer);
         limitLines[i * 2 + 1] = new Line(Color.DarkRed, Color.DarkRed, drawer);
     }
     myLines.AddRange(limitLines);
 }
Example #2
0
        public DisplayLinearAxisLimit(LinearAxisLimit constraint, LineDrawer drawer)
            : base(drawer, constraint)
        {
            aToConnection = new Line(Color.DarkBlue, Color.DarkBlue, drawer);
            bToConnection = new Line(Color.DarkBlue, Color.DarkBlue, drawer);
            error         = new Line(Color.Red, Color.Red, drawer);

            //Corners
            axis = new Line(Color.DarkBlue, Color.DarkBlue, drawer);

            myLines.Add(aToConnection);
            myLines.Add(bToConnection);
            myLines.Add(error);
            myLines.Add(axis);
        }
Example #3
0
        public DisplayRevoluteLimit(RevoluteLimit constraint, LineDrawer drawer)
            : base(drawer, constraint)
        {
            topRight    = new Line(Color.DarkBlue, Color.DarkBlue, drawer);
            top         = new Line(Color.DarkBlue, Color.DarkBlue, drawer);
            topLeft     = new Line(Color.DarkBlue, Color.DarkBlue, drawer);
            bottomRight = new Line(Color.DarkBlue, Color.DarkBlue, drawer);
            bottom      = new Line(Color.DarkBlue, Color.DarkBlue, drawer);
            bottomLeft  = new Line(Color.DarkBlue, Color.DarkBlue, drawer);
            middle      = new Line(Color.DarkBlue, Color.DarkBlue, drawer);
            testAxis    = new Line(Color.DarkRed, Color.DarkRed, drawer);

            myLines.Add(topRight);
            myLines.Add(top);
            myLines.Add(topLeft);
            myLines.Add(bottomRight);
            myLines.Add(bottom);
            myLines.Add(bottomLeft);
            myLines.Add(middle);
            myLines.Add(testAxis);
        }
 protected LineDisplayObjectBase(LineDrawer drawer)
 {
     Drawer          = drawer;
     myLinesReadOnly = new ReadOnlyCollection <Line>(myLines);
 }
Example #5
0
 /// <summary>
 /// Constructs a new line.
 /// </summary>
 /// <param name="positionA">Initial position of the first vertex of the line.</param>
 /// <param name="positionB">Initial position of the second vertex of the line.</param>
 /// <param name="colorA">Initial color of the first vertex of the line.</param>
 /// <param name="colorB">Initial color of the second vertex of the line.</param>
 /// <param name="drawer">System responsible for drawing this line.</param>
 public Line(Vector3 positionA, Vector3 positionB, Color colorA, Color colorB, LineDrawer drawer)
 {
     this.drawer = drawer;
     drawer.GetNewLineIndex(out IndexA);
     IndexB = IndexA + 1;
     drawer.vertices[IndexA].Position = positionA;
     drawer.vertices[IndexA].Color    = colorA;
     drawer.vertices[IndexB].Position = positionB;
     drawer.vertices[IndexB].Color    = colorB;
 }
 protected SolverDisplayObject(LineDrawer drawer, T lineObject)
     : base(drawer, lineObject)
 {
 }