Esempio n. 1
0
 public void Queue(IILVertexDefinition vertex)
 {
     if (m_startID == 0)
     {
         SetVertex(m_vertexCount - 1, vertex);
         m_startID = 1;
     }
     else
     {
         SetVertex(m_startID, vertex);
         m_vertices[0] = m_vertices[m_vertexCount - 1];
         m_startID++;
     }
     if (m_startID == m_vertexCount - 1)
     {
         m_startID = 0;
     }
     if (m_updateCount++ < m_autoLimitsUpdateCount)
     {
         m_localClipping.Update(vertex.Position, vertex.Position);
     }
     else
     {
         m_updateCount = 0;
         Invalidate();
     }
 }
Esempio n. 2
0
        public void SetVertex(int vertexID, IILVertexDefinition vertex)
        {
            C4bV3f curVert = m_vertices[vertexID];

            if (vertex.StoresColor)
            {
                curVert.Color = vertex.Color;
            }
            curVert.Position     = vertex.Position;
            m_vertices[vertexID] = curVert;
        }
Esempio n. 3
0
        /// <summary>
        /// alter single vertex via IILVertexDefinition interface
        /// </summary>
        /// <param name="vertexIdx">index of vertex in vertex array</param>
        /// <param name="vertex">new vertex definition</param>
        public override void SetVertex(int vertexIdx, IILVertexDefinition vertex)
        {
            VertexType curVert = m_vertices[vertexIdx];

            if (VertexDefinition.StoresColor && vertex.StoresColor)
            {
                curVert.Color = vertex.Color;
            }
            if (VertexDefinition.StoresNormals && vertex.StoresNormals)
            {
                curVert.Normal = vertex.Normal;
            }
            curVert.Position      = vertex.Position;
            m_vertices[vertexIdx] = curVert;
        }
Esempio n. 4
0
 public void Queue(IILVertexDefinition vertex)
 {
     SetVertex(m_oldestVertexID++, vertex);
     if (m_oldestVertexID >= m_vertCount)
     {
         m_oldestVertexID = 0;
     }
     if (m_updateCount++ < m_autoLimitsUpdateCount)
     {
         bool signal = false;
         m_positionMax = ILPoint3Df.Max(m_positionMax, vertex.Position, ref signal);
         m_positionMin = ILPoint3Df.Min(m_positionMin, vertex.Position, ref signal);
         if (signal)
         {
             OnSizeChanged();
         }
     }
     else
     {
         m_updateCount = 0;
         Invalidate();
     }
 }