Beispiel #1
0
        public void WriteObjectPropertiesTest()
        {
            var model         = new ThreeMfModel();
            var obj           = new ThreeMfObject();
            var baseMaterials = new ThreeMfBaseMaterials();

            baseMaterials.Bases.Add(new ThreeMfBase("blue", new ThreeMfsRGBColor(0, 0, 255)));
            obj.PropertyResource = baseMaterials;
            obj.PropertyIndex    = 0;
            model.Resources.Add(obj);

            // `baseMaterials` was never added to the model resources; ensure it is when writing
            VerifyModelXml(@"
<model>
  <resources>
    <basematerials id=""1"">
      <base name=""blue"" displaycolor=""#0000FFFF"" />
    </basematerials>
    <object id=""2"" type=""model"" pid=""1"" pindex=""0"">
      <mesh>
        <vertices />
        <triangles />
      </mesh>
    </object>
  </resources>
  <build />
</model>
", model);
        }
Beispiel #2
0
        public void WriteBaseMaterialsTest()
        {
            var model         = new ThreeMfModel();
            var baseMaterials = new ThreeMfBaseMaterials();

            baseMaterials.Bases.Add(new ThreeMfBase("blue", new ThreeMfsRGBColor(0, 0, 255)));
            baseMaterials.Bases.Add(new ThreeMfBase("green no alpha", new ThreeMfsRGBColor(0, 255, 0, 0)));
            model.Resources.Add(baseMaterials);
            VerifyModelXml(@"
<model>
  <resources>
    <basematerials id=""1"">
      <base name=""blue"" displaycolor=""#0000FFFF"" />
      <base name=""green no alpha"" displaycolor=""#00FF0000"" />
    </basematerials>
  </resources>
  <build />
</model>
", model);
        }
Beispiel #3
0
        public void WriteTriangleVertexPropertiesTest()
        {
            var model         = new ThreeMfModel();
            var obj           = new ThreeMfObject();
            var baseMaterials = new ThreeMfBaseMaterials();

            baseMaterials.Bases.Add(new ThreeMfBase("blue", new ThreeMfsRGBColor(0, 0, 255)));
            var triangle = new ThreeMfTriangle(new ThreeMfVertex(0, 0, 0), new ThreeMfVertex(1, 1, 1), new ThreeMfVertex(2, 2, 2));

            triangle.PropertyResource = baseMaterials;
            triangle.V1PropertyIndex  = 0;
            triangle.V2PropertyIndex  = null;
            triangle.V3PropertyIndex  = null;
            obj.Mesh.Triangles.Add(triangle);
            model.Resources.Add(obj);

            // `baseMaterials` was never added to the model resources; ensure it is when writing
            VerifyModelXml(@"
<model>
  <resources>
    <basematerials id=""1"">
      <base name=""blue"" displaycolor=""#0000FFFF"" />
    </basematerials>
    <object id=""2"" type=""model"">
      <mesh>
        <vertices>
          <vertex x=""0"" y=""0"" z=""0"" />
          <vertex x=""1"" y=""1"" z=""1"" />
          <vertex x=""2"" y=""2"" z=""2"" />
        </vertices>
        <triangles>
          <triangle v1=""0"" v2=""1"" v3=""2"" pid=""1"" p1=""0"" />
        </triangles>
      </mesh>
    </object>
  </resources>
  <build />
</model>
", model);
        }