Ejemplo n.º 1
0
 public virtual void SetModel(M3D.Graphics.Ext3D.ModelRendering.Model model)
 {
     modelData    = model.modelData;
     geometryData = model.geometryData;
     fileName     = model.fileName;
     zipFileName  = model.zipFileName;
 }
Ejemplo n.º 2
0
        public void Create(List <VertexTNV> vertex_list, int opengl_texture_handle)
        {
            if (vertex_list == null)
            {
                throw new ArgumentNullException("vertex_list cannot be null");
            }

            if (vertex_list.Count < 3)
            {
                throw new ArgumentException("vertex_list must have at least 3 vertices.");
            }

            if (vertex_list.Count % 3 != 0)
            {
                throw new ArgumentException("vertex_list.Count must be a multiple of 3.");
            }

            max = new Vector3(vertex_list[0].Position.X, vertex_list[0].Position.Y, vertex_list[0].Position.Z);
            min = new Vector3(vertex_list[0].Position.X, vertex_list[0].Position.Y, vertex_list[0].Position.Z);
            foreach (VertexTNV vertex in vertex_list)
            {
                if (vertex.Position.X < (double)min.X)
                {
                    min.X = vertex.Position.X;
                }

                if (vertex.Position.Y < (double)min.Y)
                {
                    min.Y = vertex.Position.Y;
                }

                if (vertex.Position.Z < (double)min.Z)
                {
                    min.Z = vertex.Position.Z;
                }

                if (vertex.Position.X > (double)max.X)
                {
                    max.X = vertex.Position.X;
                }

                if (vertex.Position.Y > (double)max.Y)
                {
                    max.Y = vertex.Position.Y;
                }

                if (vertex.Position.Z > (double)max.Z)
                {
                    max.Z = vertex.Position.Z;
                }
            }
            ext = new Vector3(max.X - min.X, max.Y - min.Y, max.Z - min.Z);
            texturedGeometry = new OpenGLRendererObject(new GraphicsModelData(vertex_list), true);
            texture_handle   = opengl_texture_handle;
        }