Group |
public class GroupNode : SceneNode, IList<SceneNode>, ICollection<SceneNode>, IEnumerable<SceneNode>, IEnumerable, IList, ICollection
The GroupNode type exposes the following members.
Name | Description | |
---|---|---|
GroupNode(String) | Initializes a new instance of the GroupNode class | |
GroupNode(IEnumerableSceneNode, String) | Initializes a new instance of the GroupNode class |
Name | Description | |
---|---|---|
ChildrenLocked | Gets or sets Boolean that specified is children collection is locked and can be changed only by the derived class. This is used by SceneNodes that are derived from GroupNode and create a fixed set of child SceneNodes that should not be changed by the user. Children can be locked by calling protected LockChildren method and unlocked by by calling protected UnlockChildren. | |
Count | ||
Item | ||
Version | Gets a version number that is increased each time the child SceneNodes are changed (added, removed or replaced). |
Name | Description | |
---|---|---|
Add | ||
AddRange | ||
CheckAreChildrenLocked | This method throws InvalidOperationException when AreChildrenLocked is true. | |
CheckThread | ||
Clear | ||
CollectAllChildrenT | Searches the GroupNode's children and their children and adds the found SceneNodes of type T to the specified children List. When name is specified, then SceneNodes with that name are returned. Name can contain '*' that acts as a wildcard to match multiple SceneNode names. The following wildcard usages are valid: *, *XYZ, XZY*, *XYZ*, XY*Z. The search depth can be optionally specified by setting the searchDepth parameter (value 0 means searching only the immediate children of this GroupNode). | |
CollectRenderingItems | (Overrides SceneNodeCollectRenderingItems(RenderingContext)) | |
Contains | ||
CopyTo | ||
Dispose |
Dispose
(Overrides SceneNodeDispose(Boolean)) | |
DisposeAllChildren | DisposeAllChildren method disposes all child SceneNodes (and their child SceneNode objects) but does not dispose this GroupNode. When disposeMeshes and disposeMaterials parameters are true, then also all meshes and materials are disposed. When runSceneCleanup is true, this method also calls the Cleanup(Boolean, Boolean, Boolean, Boolean, Boolean) method to clean the released objects. To dispose only some children call DisposeChildren(Int32, Int32, Boolean, Boolean, Boolean, Boolean) method. See remarks for more info. | |
DisposeChildren | DisposeChildren method disposes the child SceneNodes objects defined by the startIndex and count. When disposeMeshes and disposeMaterials parameters are true, then also all meshes and materials are disposed. When runSceneCleanup is true, this method also calls the Cleanup(Boolean, Boolean, Boolean, Boolean, Boolean) method to clean the released objects. To dispose all children call DisposeAllChildren(Boolean, Boolean, Boolean, Boolean) method. See remarks for more info. | |
DisposeWithAllChildren | DisposeWithAllChildren method disposes all child SceneNodes (and their child SceneNode objects), disposes this GroupNode and removes it from its parent GroupNode (if any). When disposeMeshes and disposeMaterials parameters are true, then also all meshes and materials are disposed. When runSceneCleanup is true, this method also calls the Cleanup(Boolean, Boolean, Boolean, Boolean, Boolean) method to clean the released objects. To dispose only some children call DisposeChildren(Int32, Int32, Boolean, Boolean, Boolean, Boolean) method. See remarks for more info. | |
DumpHierarchy | Writes string that contains details about all SceneNodes and their hierarchy to the console (when the application is debugged in Visual Studio the result is written to Output window or Immediate Window if started from there; in Rider the result is written to Debug Output window). | |
ForEachChild(ActionSceneNode) | Executes the specified Action for all child SceneNodes and their children. | |
ForEachChild(ActionSceneNode, Matrix4x4) | Executes the specified Action for all child SceneNodes and their children. The Action gets SceneNode and world transformation Matrix4x4 as parameter. | |
ForEachChild(Matrix4x4, ActionSceneNode, Matrix4x4) | Executes the specified Action for all child SceneNodes and their children. The Action gets SceneNode and world transformation Matrix4x4 as parameter. | |
ForEachChild(String, ActionSceneNode, Matrix4x4) | Searches the GroupNode's children and their children and executes the specified Action for all SceneNodes with the specified name.ž Name can contain '*' that acts as a wildcard to match multiple SceneNode names. The following wildcard usages are valid: *, *XYZ, XZY*, *XYZ*, XY*Z. The Action gets SceneNode and world transformation Matrix4x4 as parameter. | |
ForEachChild(String, ActionSceneNode) | Searches the GroupNode's children and their children and executes the specified Action for all SceneNodes with the specified name. Name can contain '*' that acts as a wildcard to match multiple SceneNode names. The following wildcard usages are valid: *, *XYZ, XZY*, *XYZ*, XY*Z. | |
ForEachChild(String, Int32, ActionSceneNode, Matrix4x4) | Searches the GroupNode's children and their children and executes the specified Action for all SceneNodes with the specified name. Name can contain '*' that acts as a wildcard to match multiple SceneNode names. The following wildcard usages are valid: *, *XYZ, XZY*, *XYZ*, XY*Z. The Action gets SceneNode and world transformation Matrix4x4 as parameter. | |
ForEachChild(String, Int32, ActionSceneNode) | Searches the GroupNode's children and their children and executes the specified Action for all SceneNodes with the specified name. Name can contain '*' that acts as a wildcard to match multiple SceneNode names. The following wildcard usages are valid: *, *XYZ, XZY*, *XYZ*, XY*Z. | |
ForEachChild(String, Matrix4x4, ActionSceneNode, Matrix4x4) | Searches the GroupNode's children and their children and executes the specified Action for all SceneNodes with the specified name.ž Name can contain '*' that acts as a wildcard to match multiple SceneNode names. The following wildcard usages are valid: *, *XYZ, XZY*, *XYZ*, XY*Z. The Action gets SceneNode and world transformation Matrix4x4 as parameter. | |
ForEachChild(String, Int32, Matrix4x4, ActionSceneNode, Matrix4x4) | Searches the GroupNode's children and their children and executes the specified Action for all SceneNodes with the specified name. Name can contain '*' that acts as a wildcard to match multiple SceneNode names. The following wildcard usages are valid: *, *XYZ, XZY*, *XYZ*, XY*Z. The Action gets SceneNode and world transformation Matrix4x4 as parameter. | |
ForEachChildT(ActionT) | Executes the specified Action for all child SceneNodes of type T and their children. | |
ForEachChildT(ActionT, Matrix4x4) | Executes the specified Action for all child SceneNodes of type T and their children. The Action gets SceneNode of type T and world transformation Matrix4x4 as parameter. | |
ForEachChildT(Matrix4x4, ActionT, Matrix4x4) | Executes the specified Action for all child SceneNodes of type T and their children. The Action gets SceneNode of type T and world transformation Matrix4x4 as parameter. | |
ForEachChildT(String, ActionT, Matrix4x4) | Searches the GroupNode's children and their children and executes the specified Action for all SceneNodes of type T with the specified name.ž Name can contain '*' that acts as a wildcard to match multiple SceneNode names. The following wildcard usages are valid: *, *XYZ, XZY*, *XYZ*, XY*Z. The Action gets SceneNode of type T and world transformation Matrix4x4 as parameter. | |
ForEachChildT(String, ActionT) | Searches the GroupNode's children and their children and executes the specified Action for all SceneNodes of type T with the specified name. Name can contain '*' that acts as a wildcard to match multiple SceneNode names. The following wildcard usages are valid: *, *XYZ, XZY*, *XYZ*, XY*Z. | |
ForEachChildT(String, Int32, ActionT, Matrix4x4) | Searches the GroupNode's children and their children and executes the specified Action for all SceneNodes of type T with the specified name. Name can contain '*' that acts as a wildcard to match multiple SceneNode names. The following wildcard usages are valid: *, *XYZ, XZY*, *XYZ*, XY*Z. The Action gets SceneNode of type T and world transformation Matrix4x4 as parameter. | |
ForEachChildT(String, Int32, ActionT) | Searches the GroupNode's children and their children and executes the specified Action for all SceneNodes of type T with the specified name. Name can contain '*' that acts as a wildcard to match multiple SceneNode names. The following wildcard usages are valid: *, *XYZ, XZY*, *XYZ*, XY*Z. | |
ForEachChildT(String, Matrix4x4, ActionT, Matrix4x4) | Searches the GroupNode's children and their children and executes the specified Action of type T for all SceneNodes with the specified name.ž Name can contain '*' that acts as a wildcard to match multiple SceneNode names. The following wildcard usages are valid: *, *XYZ, XZY*, *XYZ*, XY*Z. The Action gets SceneNode of type T and world transformation Matrix4x4 as parameter. | |
ForEachChildT(String, Int32, Matrix4x4, ActionT, Matrix4x4) | Searches the GroupNode's children and their children and executes the specified Action for all SceneNodes of type T with the specified name. Name can contain '*' that acts as a wildcard to match multiple SceneNode names. The following wildcard usages are valid: *, *XYZ, XZY*, *XYZ*, XY*Z. The Action gets SceneNode of type T and world transformation Matrix4x4 as parameter. | |
GetAllChildren(String, Int32) | Searches the GroupNode's children and their children and returns a List of SceneNodes. When name is specified, then SceneNodes with that name are returned. Name can contain '*' that acts as a wildcard to match multiple SceneNode names. The following wildcard usages are valid: *, *XYZ, XZY*, *XYZ*, XY*Z. The search depth can be optionally specified by setting the searchDepth parameter (value 0 means searching only the immediate children of this GroupNode). | |
GetAllChildrenT(String, Int32) | Searches the GroupNode's children and their children and returns a List of SceneNodes of type T. When name is specified, then SceneNodes with that name are returned. Name can contain '*' that acts as a wildcard to match multiple SceneNode names. The following wildcard usages are valid: *, *XYZ, XZY*, *XYZ*, XY*Z. The search depth can be optionally specified by setting the searchDepth parameter (value 0 means searching only the immediate children of this GroupNode). | |
GetById(Int32, Int32) | Searches the GroupNode's children and their children and returns the SceneNode with the specified Id. If the scene node is not found then null is returned. The search depth can be optionally specified by setting the searchDepth parameter (value 0 means searching only the immediate children of this GroupNode). | |
GetByIdT(Int32, Int32) | Searches the GroupNode's children and their children and returns the SceneNode of type T and with the specified Id. If the scene node is not found then null is returned. The search depth can be optionally specified by setting the searchDepth parameter (value 0 means searching only the immediate children of this GroupNode). | |
GetChild(Int32) | ||
GetChild(String, Int32) | Searches the GroupNode's children and their children and returns the SceneNode with the specified name. Name can contain '*' that acts as a wildcard. In this case the first SceneNode that matches the wildcard is returned. The following wildcard usages are valid: *, *XYZ, XZY*, *XYZ*, XY*Z. If the scene node is not found then null is returned. The search depth can be optionally specified by setting the searchDepth parameter (value 0 means searching only the immediate children of this GroupNode). | |
GetChildT(String, Int32) | Searches the GroupNode's children and their children and returns the SceneNode of type T and with the specified name. Name can contain '*' that acts as a wildcard. In this case the first SceneNode that matches the wildcard is returned. The following wildcard usages are valid: *, *XYZ, XZY*, *XYZ*, XY*Z. If the scene node is not found then null is returned. The search depth can be optionally specified by setting the searchDepth parameter (value 0 means searching only the immediate children of this GroupNode). | |
GetEachChild | Gets an IEnumerable of SceneNode of all child SceneNodes and their children. | |
GetEnumerator | ||
GetHierarchyText | Returns string that contains details about all this and child SceneNodes and their hierarchy. | |
GetLocalBoundingBox |
Gets the BoundingBox of all the child SceneNodes in local coordinates.
The BoundingBox is transformed by transformation on this SceneNode but not by parent's transformations.
When updateIfDirty parameter is true (by default) then the DirtyFlags of all child SceneNodes are checked
and the Update method is called in case the mesh is dirty.
When updateIfDirty parameter is false then the current value of protected localBoundingBox field is returned.
(Overrides SceneNodeGetLocalBoundingBox(Boolean)) | |
GetOverviewText | (Overrides SceneNodeGetOverviewText(StringBuilder, Boolean, Boolean, Boolean, Boolean, Boolean, Boolean, Boolean, Boolean, Boolean)) | |
IndexOf | ||
Insert | ||
LockChildren | LockChildren method locks Children collection and prevents changing it. This is used by SceneNodes that are derived from GroupNode and create a fixed set of child SceneNodes that should not be changed by the user. | |
NotifyAllChildSceneNodesChange | Add the changeType to all child SceneNodes. This does not change this SceneNode's dirty flags. | |
OnChildrenChanged(NotifyCollectionChangedAction, SceneNode) | OnChildrenChangedChanged | |
OnChildrenChanged(NotifyCollectionChangedAction, IListSceneNode) | OnChildrenChangedChanged | |
OnInitializeSceneResources |
Initializes resources with the specified Scene and GpuDevice.
This method can be override and is called from InitializeSceneResources(Scene) method.
(Overrides InitializedSceneComponentOnInitializeSceneResources(Scene, VulkanDevice)) | |
OnIsVisibleChanged | (Overrides SceneNodeOnIsVisibleChanged(Boolean)) | |
Remove(SceneNode) | Removes the specified SceneNode from the children collection. This method also recalculates the bounding box from all remaining children. When many children are removed, then it is recommended to call Remove(SceneNode, Boolean) and then UpdateBoundingBox. | |
Remove(SceneNode, Boolean) | Removes the specified SceneNode from the children collection. If updateBoundingBox is false (useful when removing multiple SceneNodes), then the UpdateBoundingBox method must be called after all the SceneNodes are removed. | |
RemoveAt(Int32) | Removes the child SceneNode at the specified index from the children collection. This method also recalculates the bounding box from all remaining children. When many children are removed, then it is recommended to call RemoveAt(Int32, Boolean) and then UpdateBoundingBox. | |
RemoveAt(Int32, Boolean) | Removes the child SceneNode at the specified index from the children collection. If updateBoundingBox is false (useful when removing multiple SceneNodes), then the UpdateBoundingBox method must be called after all the SceneNodes are removed. | |
UnlockChildren | UnlockChildren method unlocks Children collection and allows changing it. | |
UpdateBoundingBox | UpdateBoundingBox calculates the local bounding box again from the bounding boxes of the children. | |
UpdateLocalBoundingBox | (Overrides SceneNodeUpdateLocalBoundingBox) |
Name | Description | |
---|---|---|
ChildrenChanged | Occurs when list of Children has changed. |
Name | Description | |
---|---|---|
DumpHierarchy |
Dumps the hierarchy of the GroupNode and its children.
(Defined by Extensions) |