public BlamModelCompressionElement(StructureValueCollection elementData) { CompressionFlags = (RenderGeometryCompressionFlags)elementData.GetInteger("compression flags"); CompressionBoundingBox = new BoundingBox(); CompressionBoundingBox.MinX = elementData.GetFloat("min x"); CompressionBoundingBox.MaxX = elementData.GetFloat("max x"); CompressionBoundingBox.MinY = elementData.GetFloat("min y"); CompressionBoundingBox.MaxY = elementData.GetFloat("max y"); CompressionBoundingBox.MinZ = elementData.GetFloat("min z"); CompressionBoundingBox.MaxZ = elementData.GetFloat("max z"); CompressionBoundingBox.MinU = elementData.GetFloat("min u"); CompressionBoundingBox.MaxU = elementData.GetFloat("max u"); CompressionBoundingBox.MinV = elementData.GetFloat("min v"); CompressionBoundingBox.MaxV = elementData.GetFloat("max z"); }
/// <summary> /// Deserializes a bounding box from a set of values read from a structure. /// </summary> /// <param name="values">The values to use.</param> /// <returns>The bounding box.</returns> public static BoundingBox Deserialize(StructureValueCollection values) { var result = new BoundingBox(); result.MinX = values.GetFloat("min x"); result.MaxX = values.GetFloat("max x"); result.MinY = values.GetFloat("min y"); result.MaxY = values.GetFloat("max y"); result.MinZ = values.GetFloat("min z"); result.MaxZ = values.GetFloat("max z"); result.MinU = values.GetFloat("min u"); result.MaxU = values.GetFloat("max u"); result.MinV = values.GetFloat("min v"); result.MaxV = values.GetFloat("max v"); result.Unknown1 = (int)values.GetIntegerOrDefault("unknown 1", 3); result.Unknown2 = (int)values.GetIntegerOrDefault("unknown 2", 0); result.Unknown3 = (int)values.GetIntegerOrDefault("unknown 3", 0); result.Unknown4 = (int)values.GetIntegerOrDefault("unknown 4", 0); return(result); }