public virtual void SetModel(M3D.Graphics.Ext3D.ModelRendering.Model model) { modelData = model.modelData; geometryData = model.geometryData; fileName = model.fileName; zipFileName = model.zipFileName; }
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; }