RigVM.Graph.DisableCompactNodes

RigVM.Graph.DisableCompactNodes

#Overview

name: RigVM.Graph.DisableCompactNodes

This variable is created as a Console Variable (cvar).

It is referenced in 3 C++ source files.

#Summary

#Usage in the C++ source code

The purpose of RigVM.Graph.DisableCompactNodes is to control the visual representation of nodes in the RigVM graph editor. It is used in the RigVM module, which is part of Unreal Engine’s animation and rigging system.

This setting variable is primarily used in the RigVM plugin, specifically in the RigVMDeveloper module. It affects the way nodes are drawn in the RigVM graph editor.

The value of this variable is set through a console variable (CVar) named CVarRigVMDisableCompactNodes. It is initialized with a default value of false, meaning compact nodes are enabled by default.

The associated variable CVarRigVMDisableCompactNodes directly interacts with this setting. It is a TAutoConsoleVariable that allows runtime modification of the setting.

Developers must be aware that:

  1. When this variable is set to true, all nodes in the RigVM graph will be drawn as full nodes, regardless of their default compact state.
  2. This setting affects the visual representation of nodes but does not change their functionality.

Best practices when using this variable include:

  1. Use it for debugging or when a clearer view of all node details is required.
  2. Be aware that enabling this option might make the graph more cluttered, especially for complex rigs.
  3. Consider performance implications when working with large graphs, as drawing all nodes as full nodes might be more resource-intensive.

Regarding the associated variable CVarRigVMDisableCompactNodes:

When working with this variable, developers should consider the impact on graph readability and performance, especially when dealing with complex rigs or large node graphs.

#References in C++ code

#Callsites

This variable is referenced in the following C++ source code:

#Loc: <Workspace>/Engine/Plugins/Runtime/RigVM/Source/RigVMDeveloper/Private/EdGraph/RigVMEdGraphNode.cpp:32

Scope: file

Source code excerpt:

#define LOCTEXT_NAMESPACE "RigVMEdGraphNode"

TAutoConsoleVariable<bool> CVarRigVMDisableCompactNodes(TEXT("RigVM.Graph.DisableCompactNodes"), false, TEXT("When true all nodes are going to be drawn as full nodes."));

URigVMEdGraphNode::URigVMEdGraphNode()
: Dimensions(0.0f, 0.0f)
, NodeTitle(FText::GetEmpty())
, FullNodeTitle(FText::GetEmpty())
, NodeTopologyVersion(INDEX_NONE)

#Associated Variable and Callsites

This variable is associated with another variable named CVarRigVMDisableCompactNodes. They share the same value. See the following C++ source code.

#Loc: <Workspace>/Engine/Plugins/Runtime/RigVM/Source/RigVMDeveloper/Private/EdGraph/RigVMEdGraphNode.cpp:32

Scope: file

Source code excerpt:

#define LOCTEXT_NAMESPACE "RigVMEdGraphNode"

TAutoConsoleVariable<bool> CVarRigVMDisableCompactNodes(TEXT("RigVM.Graph.DisableCompactNodes"), false, TEXT("When true all nodes are going to be drawn as full nodes."));

URigVMEdGraphNode::URigVMEdGraphNode()
: Dimensions(0.0f, 0.0f)
, NodeTitle(FText::GetEmpty())
, FullNodeTitle(FText::GetEmpty())
, NodeTopologyVersion(INDEX_NONE)

#Loc: <Workspace>/Engine/Plugins/Runtime/RigVM/Source/RigVMDeveloper/Private/EdGraph/RigVMEdGraphNode.cpp:1049

Scope (from outer to inner):

file
function     bool URigVMEdGraphNode::DrawAsCompactNode

Source code excerpt:

bool URigVMEdGraphNode::DrawAsCompactNode() const
{
	if(CVarRigVMDisableCompactNodes.GetValueOnAnyThread())
	{
		return false;
	}
	
	if(!DrawAsCompactNodeCache.IsSet())
	{