public void ReadFromXml(XElement propertyRoot, ushort type, ushort size, uint nameHash) { Type = type; Size = size; NameHash = nameHash; var dataNode = propertyRoot.GetRequiredElement("Data"); Position = dataNode.GetRequiredElement("position").ToVector3f(); Orient = dataNode.GetRequiredElement("orient").ToMatrix33(); }
public bool ReadFromStream(Stream stream, ushort type, ushort size, uint nameHash) { Type = type; Size = size; NameHash = nameHash; if (size == 48) { var reader = new BinaryReader(stream); Position = reader.ReadVector3f(); Orient = reader.ReadMatrix33(); return(true); } else { Console.WriteLine("Error! Found op (orient + position) property with size != 48 bytes. Unknown data! Skipping property."); return(false); } }
public static void Write(this BinaryWriter writer, matrix33 mat33) { writer.Write(mat33.rvec); writer.Write(mat33.uvec); writer.Write(mat33.fvec); }