本文整理汇总了C#中IShape.Load方法的典型用法代码示例。如果您正苦于以下问题:C# IShape.Load方法的具体用法?C# IShape.Load怎么用?C# IShape.Load使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IShape
的用法示例。
在下文中一共展示了IShape.Load方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Load
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);
}