本文整理匯總了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);
}