Autodesk.Revit.DB.DirectContext3D.EffectInstance
该类代表一个特定的Direct3D效果实例,该实例可以应用于Revit视图中的几何体,并可以通过自定义参数进行修改。
命名空间
Autodesk.Revit.DB.DirectContext3D
继承关系
System.Object
-> Autodesk.Revit.DB.DirectContext3D.EffectInstance
构造函数
名称 |
描述 |
EffectInstance(Device, Effect, Int32) |
创建一个新的EffectInstance实例。 |
属性
名称 |
描述 |
BoundMaterial |
获取或设置当前已绑定的材质。 |
HasChanges |
获取指示当前实例是否有未保存的更改的布尔值。 |
Parameters |
获取可用于修改效果实例的自定义参数的列表。 |
Technique |
获取或设置当前已绑定的技术。 |
方法
名称 |
描述 |
Bind(Material, IEnumerable<KeyValuePair<string, object>>) |
将材质绑定到当前效果实例。 |
Bind(Technique, IEnumerable<KeyValuePair<string, object>>) |
将技术绑定到当前效果实例。 |
Copy() |
创建EffectInstance的副本。 |
Equals(Object) |
确定指定的对象是否等于当前对象。 |
Finalize() |
在对象被垃圾收集器回收之前执行资源清理操作。 |
GetHashCode() |
用作默认哈希函数。 |
GetType() |
获取当前实例的Type。 |
MemberwiseClone() |
创建当前对象的浅表副本。 |
SetCustomParameter(string, object) |
设置指定名称的自定义参数。 |
ToString() |
返回表示当前对象的字符串。 |
示例
EffectInstance effectInstance = new EffectInstance(device, effect, 0);
effectInstance.Bind(material, new List<KeyValuePair<string, object>>()
{
new KeyValuePair<string, object>("Parameter1", 0),
new KeyValuePair<string, object>("Parameter2", true),
new KeyValuePair<string, object>("Parameter3", "Text")
});
effectInstance.Bind(technique, new List<KeyValuePair<string, object>>()
{
new KeyValuePair<string, object>("Parameter1", 0),
new KeyValuePair<string, object>("Parameter2", true),
new KeyValuePair<string, object>("Parameter3", "Text")
});
effectInstance.SetCustomParameter("Parameter1", 1);
directContext3D.DrawGeometry(geometry, effectInstance);
异常
名称 |
描述 |
ArgumentException |
参数值无效或不受支持。 |
ArgumentNullException |
参数值为 null。 |
InvalidOperationException |
操作无效或不受支持。 |
NotImplementedException |
所请求的方法或操作未实现。 |