Пример #1
0
        /// Validate that all geometry stream objects are compatibile.
        /// eg. If any stream has UseNormals, all must have it.
        private void ValidateGeometryStream(IGeometryStream geometry)
        {
            if (geometry.Geometry.Count() == 0)
            {
                throw new MeshFactoryException("No geometry in geometry stream");
            }
            foreach (var gp in geometry.Geometry)
            {
                useUV = useUV | gp.UseUV;
                if (useUV && (!gp.UseUV))
                {
                    throw new MeshFactoryException("{0} did not implement UV as required by geometry stream", gp);
                }

                useNormals = useNormals | gp.UseNormals;
                if (useNormals && (!gp.UseNormals))
                {
                    throw new MeshFactoryException("{0} did not implement Normals as required by geometry stream", gp);
                }

                useColor = useColor | gp.UseColor;
                if (useColor && (!gp.UseColor))
                {
                    throw new MeshFactoryException("{0} did not implement Color as required by geometry stream", gp);
                }
            }
        }
Пример #2
0
        /// Validate that all geometry stream objects are compatibile.
        /// eg. If any stream has UseNormals, all must have it.
        private void ValidateGeometryStream(IGeometryStream geometry)
        {
            if (geometry.Geometry.Count() == 0) { throw new MeshFactoryException("No geometry in geometry stream"); }
            foreach (var gp in geometry.Geometry)
            {
                useUV = useUV | gp.UseUV;
                if (useUV && (!gp.UseUV)) { throw new MeshFactoryException("{0} did not implement UV as required by geometry stream", gp); }

                useNormals = useNormals | gp.UseNormals;
                if (useNormals && (!gp.UseNormals)) { throw new MeshFactoryException("{0} did not implement Normals as required by geometry stream", gp); }

                useColor = useColor | gp.UseColor;
                if (useColor && (!gp.UseColor)) { throw new MeshFactoryException("{0} did not implement Color as required by geometry stream", gp); }
            }
        }
Пример #3
0
 /// Create a new instance from some kind of geometry stream
 public MeshFactory(IGeometryStream geometry)
 {
     ValidateGeometryStream(geometry);
     this.geometry = geometry;
 }
Пример #4
0
 /// Create a new instance from some kind of geometry stream
 public MeshFactory(IGeometryStream geometry)
 {
     ValidateGeometryStream(geometry);
     this.geometry = geometry;
 }