Click or drag to resize
SoWpfRenderAreaSource Class

Note: This API is now obsolete.

An ImageSource that displays a user-created Open Inventor scenegraph.
Inheritance Hierarchy

Namespace: OIV.Inventor.Wpf
Assembly: OIV.Inventor.Wpf (in OIV.Inventor.Wpf.dll) Version: 9.9.13.0.Release.1490cabe7ee249bd6cc986579d4e6231040bc6f5
Syntax
[ObsoleteAttribute("This class is obsolete. You may use the RenderAreaSource class provided in %OIVNETHOME%\src\demos\Inventor\Gui\Wpf\WpfViewerComponents folder.")]
public class SoWpfRenderAreaSource : D3DImage, 
	IDisposable

The SoWpfRenderAreaSource type exposes the following members.

Constructors
  NameDescription
Public methodSoWpfRenderAreaSource
Create a new instance of the SoWpfRenderAreaSource class.
Top
Methods
  NameDescription
Public methodAddDirtyRect
Specifies the area of the back buffer that changed.
(Inherited from D3DImage.)
Public methodApplyAnimationClock(DependencyProperty, AnimationClock)
Applies an AnimationClock to the specified DependencyProperty. If the property is already animated, the SnapshotAndReplace handoff behavior is used.
(Inherited from Animatable.)
Public methodApplyAnimationClock(DependencyProperty, AnimationClock, HandoffBehavior)
Applies an AnimationClock to the specified DependencyProperty. If the property is already animated, the specified HandoffBehavior is used.
(Inherited from Animatable.)
Public methodBeginAnimation(DependencyProperty, AnimationTimeline)
Applies an animation to the specified DependencyProperty. The animation is started when the next frame is rendered. If the specified property is already animated, the SnapshotAndReplace handoff behavior is used.
(Inherited from Animatable.)
Public methodBeginAnimation(DependencyProperty, AnimationTimeline, HandoffBehavior)
Applies an animation to the specified DependencyProperty. The animation is started when the next frame is rendered. If the specified property is already animated, the specified HandoffBehavior is used.
(Inherited from Animatable.)
Public methodCheckAccess
Determines whether the calling thread has access to this DispatcherObject.
(Inherited from DispatcherObject.)
Public methodClearValue(DependencyProperty)
Clears the local value of a property. The property to be cleared is specified by a DependencyProperty identifier.
(Inherited from DependencyObject.)
Public methodClearValue(DependencyPropertyKey)
Clears the local value of a read-only property. The property to be cleared is specified by a DependencyPropertyKey.
(Inherited from DependencyObject.)
Public methodClone
Creates a modifiable clone of this D3DImage object, making deep copies of this object's values. When copying dependency properties, this method copies resource references and data bindings (which may no longer resolve), but not animations or their current values.
(Inherited from D3DImage.)
Public methodCloneCurrentValue
Creates a modifiable clone of this D3DImage object, making deep copies of this object's current values. Resource references, data bindings, and animations are not copied, but their current values are copied.
(Inherited from D3DImage.)
Public methodCoerceValue
Coerces the value of the specified dependency property. This is accomplished by invoking any CoerceValueCallback function specified in property metadata for the dependency property as it exists on the calling DependencyObject.
(Inherited from DependencyObject.)
Public methodDispose
Public methodEquals
Determines whether a provided DependencyObject is equivalent to the current DependencyObject.
(Inherited from DependencyObject.)
Public methodFreeze
Makes the current object unmodifiable and sets its IsFrozen property to true.
(Inherited from Freezable.)
Public methodGetAnimationBaseValue
Returns the non-animated value of the specified DependencyProperty.
(Inherited from Animatable.)
Public methodGetAsFrozen
Creates a frozen copy of the Freezable, using base (non-animated) property values. Because the copy is frozen, any frozen sub-objects are copied by reference.
(Inherited from Freezable.)
Public methodGetCurrentValueAsFrozen
Creates a frozen copy of the Freezable using current property values. Because the copy is frozen, any frozen sub-objects are copied by reference.
(Inherited from Freezable.)
Public methodGetHashCode
Gets a hash code for this DependencyObject.
(Inherited from DependencyObject.)
Public methodGetLocalValueEnumerator
Creates a specialized enumerator for determining which dependency properties have locally set values on this DependencyObject.
(Inherited from DependencyObject.)
Public methodGetSceneManager Obsolete.
Allows to access directly the scene manager associated with the instance.
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Public methodGetValue
Returns the current effective value of a dependency property on this instance of a DependencyObject.
(Inherited from DependencyObject.)
Public methodInvalidateProperty
Re-evaluates the effective value for the specified dependency property
(Inherited from DependencyObject.)
Public methodLock
Locks the D3DImage and enables operations on the back buffer.
(Inherited from D3DImage.)
Public methodReadLocalValue
Returns the local value of a dependency property, if it exists.
(Inherited from DependencyObject.)
Public methodSetBackBuffer
Assigns a Direct3D surface as the source of the back buffer.
(Inherited from D3DImage.)
Public methodSetCurrentValue
Sets the value of a dependency property without changing its value source.
(Inherited from DependencyObject.)
Public methodSetTransparencyType
Sets the Transparency algorithm used to render transparent part.
Public methodSetValue(DependencyProperty, Object)
Sets the local value of a dependency property, specified by its dependency property identifier.
(Inherited from DependencyObject.)
Public methodSetValue(DependencyPropertyKey, Object)
Sets the local value of a read-only dependency property, specified by the DependencyPropertyKey identifier of the dependency property.
(Inherited from DependencyObject.)
Public methodToString
Creates a string representation of this object based on the current culture.
(Inherited from ImageSource.)
Public methodToString(IFormatProvider)
Creates a string representation of this object based on the IFormatProvider passed in. If the provider is null, the CurrentCulture is used.
(Inherited from ImageSource.)
Public methodTryLock
Attempts to lock the D3DImage and waits for the specified duration.
(Inherited from D3DImage.)
Public methodUnlock
Decrements the lock count for the D3DImage.
(Inherited from D3DImage.)
Public methodVerifyAccess
Enforces that the calling thread has access to this DispatcherObject.
(Inherited from DispatcherObject.)
Top
Fields
Properties
  NameDescription
Public propertyCanFreeze
Gets a value that indicates whether the object can be made unmodifiable.
(Inherited from Freezable.)
Public propertyDependencyObjectType
Gets the DependencyObjectType that wraps the CLR type of this instance. 
(Inherited from DependencyObject.)
Public propertyDispatcher
Gets the Dispatcher this DispatcherObject is associated with.
(Inherited from DispatcherObject.)
Public propertyHasAnimatedProperties
Gets a value that indicates whether one or more AnimationClock objects is associated with any of this object's dependency properties.
(Inherited from Animatable.)
Public propertyHeight
Gets the height of the D3DImage.
(Inherited from D3DImage.)
Public propertyIsClearBeforeRender
Gets or sets if the color buffer should be cleared before a render
Public propertyIsClearZBufferBeforeRender
Gets or sets if the Z buffer should be cleared before a render
Public propertyIsFrontBufferAvailable
Gets a value that indicates whether a front buffer exists.
(Inherited from D3DImage.)
Public propertyIsFrozen
Gets a value that indicates whether the object is currently modifiable.
(Inherited from Freezable.)
Public propertyIsSealed
Gets a value that indicates whether this instance is currently sealed (read-only).
(Inherited from DependencyObject.)
Public propertyMetadata
Gets the metadata associated with the image source.
(Inherited from D3DImage.)
Public propertyPixelHeight
Gets or sets the height of the SoWpfRenderAreaSource, in pixels.
Public propertyPixelWidth
Gets or sets the width of the SoWpfRenderAreaSource, in pixels.
Public propertySceneManager
Allows to access directly the scene manager associated with the instance.
Public propertyTouchManager
Allows to access directly the touch manager associated with the instance.
Public propertyWidth
Gets the width of the D3DImage.
(Inherited from D3DImage.)
Top
Events
  NameDescription
Public eventChanged
Occurs when the Freezable or an object it contains is modified.
(Inherited from Freezable.)
Public eventIsFrontBufferAvailableChanged
Occurs when the IsFrontBufferAvailable property changes.
(Inherited from D3DImage.)
Top
Remarks

In the current version of Open Inventor, we provide only render area functionality for WPF. There is no viewer implementation, which means you need to implement camera manipulation and other features provided by a viewer. Viewer features are scheduled for a future release.

To give a bit of background, the WPF render area was introduced to handle overlap and transparency issues in WPF, but this turned out to have caused lower performance. Also, the WPF render area is a very recent component; we continue to work on it to improve reliability and performance, but in the meantime, as a more a robust solution, we recommend using a WinForm host. (see example "src/Inventor/examples/Features/WPF/WpfHostWinFormHelloCone")

Caution note Caution
To users of Visual Studio 2010: the Visual Studio designer cannot load components defined in x64 assemblies. Since the assembly containing this type is not targeted AnyCPU, you can only use an assembly which targets x86 to load this component into the designer.
Caution note Caution
To users of Visual Studio 2012: we recommend using an updated version of Visual Studio 2012 with at least the update 4 to have correct behavior of designer with our components.
Caution note Caution
To users of Visual Studio 2012: in order for the SoWpfRenderAreaSource component to be correctly loaded into the designer, you must run Visual Studio with the PATH environment variable including the %OIVNETHOME%\assemblies\%OIVARCH% directory (the OIVARCH must be the same as the referenced assemblies) in order for designer process (XDesProc.exe) to find native dependencies of referenced assemblies. The design time working directory differs from the execution time working directory and the designer process ignores the linked resources while copying the referenced assemblies to the new output directory.
See Also