public override void Load(ISceneDataNode sceneDataNode)
        {
            var scale            = new Vector3(1, 1, 1);
            var position         = new Vector3();
            var orientationAxis  = new Vector3(0, 0, 1);
            var orientationAngle = 0.0f;

            if (sceneDataNode.HasParameter("scale"))
            {
                scale = sceneDataNode.ReadVectorParameter("scale");
            }
            if (sceneDataNode.HasParameter("position"))
            {
                position = sceneDataNode.ReadVectorParameter("position");
            }
            if (sceneDataNode.HasParameter("orientationAxis"))
            {
                orientationAxis  = sceneDataNode.ReadVectorParameter("orientationAxis");
                orientationAngle = sceneDataNode.ReadFloatParameter("angle");
            }
            Init(scale, position, orientationAxis, orientationAngle);

            var name = sceneDataNode.ReadParameter("shapeName");

            if (sceneDataNode.HasParameter("filePath"))
            {
                var shapeTypeString = sceneDataNode.ReadParameter("shapeType");
                var shapeType       = (ShapeType)Enum.Parse(typeof(ShapeType), shapeTypeString);
                var filePath        = sceneDataNode.ReadParameter("filePath");
                var fileTypeString  = Path.GetExtension(filePath).TrimStart('.');

                var fileType = (FileType)Enum.Parse(typeof(FileType), fileTypeString);
                _shape = _shapeFactory.CreateShape(shapeType, fileType, name);
                _shape.Load(filePath);
            }
            else
            {
                var primitveTypeString = sceneDataNode.ReadParameter("primitiveType");
                var primitveType       = (PrimitiveType)Enum.Parse(typeof(PrimitiveType), primitveTypeString);
                _shape = _shapeFactory.CreateShape(primitveType, name);
            }

            var materialKey = sceneDataNode.ReadParameter("material");

            if (_resourceManager.HasMaterial(materialKey))
            {
                _shape.Material = _resourceManager.GetMaterial(materialKey);
            }
        }
예제 #2
0
        public override void Load(ISceneDataNode sceneDataNode)
        {
            base.Load(sceneDataNode);
            var position = sceneDataNode.ReadVectorParameter("position");

            Init(position);
        }
예제 #3
0
    public override void Load(ISceneDataNode sceneDataNode)
    {
      float nearClip = sceneDataNode.ReadFloatParameter("nearClip");
      float farClip = sceneDataNode.ReadFloatParameter("farClip");
      int order = 0;
      if (sceneDataNode.HasParameter("order"))
        order = int.Parse(sceneDataNode.ReadParameter("order"));
      var position = new Vector3();
      var target = new Vector3();
      var up = new Vector3();
      position = sceneDataNode.ReadVectorParameter("position");
      target = sceneDataNode.ReadVectorParameter("target");
      up = sceneDataNode.ReadVectorParameter("up");

      Init(nearClip, farClip, order, position, target, up);
    }
        public override void Load(ISceneDataNode sceneDataNode)
        {
            base.Load(sceneDataNode);
            var direction = sceneDataNode.ReadVectorParameter("direction");

            Init(direction.Normalized());
        }
예제 #5
0
    public override void Load(ISceneDataNode sceneDataNode)
    {
      var scale = new Vector3(1,1,1);
      var position = new Vector3();
      var orientationAxis = new Vector3(0,0,1);
      var orientationAngle = 0.0f;
      if (sceneDataNode.HasParameter("scale"))
      {
        scale = sceneDataNode.ReadVectorParameter("scale");
      } 
      if (sceneDataNode.HasParameter("position"))
      {
        position = sceneDataNode.ReadVectorParameter("position");
      }
      if (sceneDataNode.HasParameter("orientationAxis"))
      {
        orientationAxis = sceneDataNode.ReadVectorParameter("orientationAxis");
        orientationAngle = sceneDataNode.ReadFloatParameter("angle");
      }
      Init(scale, position, orientationAxis, orientationAngle);

      var name = sceneDataNode.ReadParameter("shapeName");

      if (sceneDataNode.HasParameter("filePath"))
      {
        var shapeTypeString = sceneDataNode.ReadParameter("shapeType");
        var shapeType = (ShapeType)Enum.Parse(typeof(ShapeType), shapeTypeString);
        var filePath = sceneDataNode.ReadParameter("filePath");
        var fileTypeString = Path.GetExtension(filePath).TrimStart('.');

        var fileType = (FileType) Enum.Parse(typeof (FileType), fileTypeString);
        _shape = _shapeFactory.CreateShape(shapeType, fileType, name);
        _shape.Load(filePath);
      }
      else
      {
        var primitveTypeString = sceneDataNode.ReadParameter("primitiveType");
        var primitveType = (PrimitiveType)Enum.Parse(typeof(PrimitiveType), primitveTypeString);
        _shape = _shapeFactory.CreateShape(primitveType, name);
      }

      var materialKey = sceneDataNode.ReadParameter("material");
      if (_resourceManager.HasMaterial(materialKey))
        _shape.Material = _resourceManager.GetMaterial(materialKey);
    }
예제 #6
0
        public override void Load(ISceneDataNode sceneDataNode)
        {
            float nearClip = sceneDataNode.ReadFloatParameter("nearClip");
            float farClip  = sceneDataNode.ReadFloatParameter("farClip");
            int   order    = 0;

            if (sceneDataNode.HasParameter("order"))
            {
                order = int.Parse(sceneDataNode.ReadParameter("order"));
            }
            var position = new Vector3();
            var target   = new Vector3();
            var up       = new Vector3();

            position = sceneDataNode.ReadVectorParameter("position");
            target   = sceneDataNode.ReadVectorParameter("target");
            up       = sceneDataNode.ReadVectorParameter("up");

            Init(nearClip, farClip, order, position, target, up);
        }
예제 #7
0
 public override void Load(ISceneDataNode sceneDataNode)
 {
   base.Load(sceneDataNode);
   var position = sceneDataNode.ReadVectorParameter("position");
   Init(position);
 }
예제 #8
0
 public override void Load(ISceneDataNode sceneDataNode)
 {
   base.Load(sceneDataNode);
   var direction = sceneDataNode.ReadVectorParameter("direction");
   Init(direction.Normalized());
 }