0.4.1
Loading...
Searching...
No Matches
ax::NodeEditor::Utilities::BlueprintNodeBuilder Class Reference

Node Builder class. More...

Public Member Functions

void Begin (ax::NodeEditor::NodeId id)
 Begins building a node.
 
 BlueprintNodeBuilder (ImTextureID texture=nullptr, int textureWidth=0, int textureHeight=0)
 Constructor.
 
void End ()
 Ends building a node.
 
void EndHeader ()
 Ends building the header.
 
void Header (const ImVec4 &color=ImVec4(1, 1, 1, 1))
 Begins building the header.
 
void Input (ax::NodeEditor::PinId id)
 Begins building an input pin.
 
void Middle ()
 Begins building of the middle of the node.
 
void Output (ax::NodeEditor::PinId id)
 Begins building an output pin.
 

Static Public Member Functions

static void EndInput ()
 Ends building the input pin.
 
static void EndOutput ()
 Ends building the output pin.
 

Private Types

enum class  Stage : uint8_t {
  Invalid ,
  Begin ,
  Header ,
  Content ,
  Input ,
  Output ,
  Middle ,
  End
}
 Stages in the build process. More...
 

Private Member Functions

bool SetStage (Stage stage)
 Set the stage of the node build process. Takes care of all the Layout elements.
 

Static Private Member Functions

static void EndPin ()
 Ends building the pin.
 
static void Pin (ax::NodeEditor::PinId id, ax::NodeEditor::PinKind kind)
 Begins building a pin.
 

Private Attributes

ImVec2 ContentMax
 Maximum size of the content.
 
ImVec2 ContentMin
 Minimum size of the content.
 
NodeId CurrentNodeId
 Id of the node currently built.
 
Stage CurrentStage
 Current stage of the build process.
 
bool HasHeader
 Flag whether the node has a header.
 
ImU32 HeaderColor
 Color of the header.
 
ImVec2 HeaderMax
 Maximum size of the header.
 
ImVec2 HeaderMin
 Minimum size of the header.
 
int HeaderTextureHeight
 Height of the header texture.
 
ImTextureID HeaderTextureId
 Pointer to the texture to use for the header.
 
int HeaderTextureWidth
 Width of the header texture.
 
ImVec2 NodeMax
 Maximum size of the node.
 
ImVec2 NodeMin
 Minimum size of the node.
 

Detailed Description

Node Builder class.

Definition at line 21 of file BlueprintNodeBuilder.hpp.

Member Enumeration Documentation

◆ Stage

enum class ax::NodeEditor::Utilities::BlueprintNodeBuilder::Stage : uint8_t
strongprivate

Stages in the build process.

Enumerator
Invalid 

Invalid stage.

Begin 

Beginning of node construction.

Header 

Currently building the header.

Content 

Currently building the content.

Input 

Currently building an input pin.

Output 

Currently building an output pin.

Middle 

Currently building the middle.

End 

End of node construction.

Definition at line 61 of file BlueprintNodeBuilder.hpp.

Constructor & Destructor Documentation

◆ BlueprintNodeBuilder()

ax::NodeEditor::Utilities::BlueprintNodeBuilder::BlueprintNodeBuilder ( ImTextureID texture = nullptr,
int textureWidth = 0,
int textureHeight = 0 )
explicit

Constructor.

Parameters
[in]texturePointer to the texture to use for the node
[in]textureWidthWidth of the provided texture
[in]textureHeightHeight of the provided texture

Definition at line 15 of file BlueprintNodeBuilder.cpp.

Member Function Documentation

◆ Begin()

void ax::NodeEditor::Utilities::BlueprintNodeBuilder::Begin ( ax::NodeEditor::NodeId id)

Begins building a node.

Parameters
[in]idId of the node to build

Definition at line 18 of file BlueprintNodeBuilder.cpp.

◆ End()

void ax::NodeEditor::Utilities::BlueprintNodeBuilder::End ( )

Ends building a node.

Definition at line 33 of file BlueprintNodeBuilder.cpp.

◆ EndHeader()

void ax::NodeEditor::Utilities::BlueprintNodeBuilder::EndHeader ( )

Ends building the header.

Definition at line 88 of file BlueprintNodeBuilder.cpp.

◆ EndInput()

void ax::NodeEditor::Utilities::BlueprintNodeBuilder::EndInput ( )
static

Ends building the input pin.

Definition at line 114 of file BlueprintNodeBuilder.cpp.

◆ EndOutput()

void ax::NodeEditor::Utilities::BlueprintNodeBuilder::EndOutput ( )
static

Ends building the output pin.

Definition at line 152 of file BlueprintNodeBuilder.cpp.

◆ EndPin()

void ax::NodeEditor::Utilities::BlueprintNodeBuilder::EndPin ( )
staticprivate

Ends building the pin.

Definition at line 316 of file BlueprintNodeBuilder.cpp.

◆ Header()

void ax::NodeEditor::Utilities::BlueprintNodeBuilder::Header ( const ImVec4 & color = ImVec4(1, 1, 1, 1))

Begins building the header.

Parameters
[in]colorColor of the header

Definition at line 82 of file BlueprintNodeBuilder.cpp.

◆ Input()

void ax::NodeEditor::Utilities::BlueprintNodeBuilder::Input ( ax::NodeEditor::PinId id)

Begins building an input pin.

Parameters
[in]idId of the pin to build

Definition at line 93 of file BlueprintNodeBuilder.cpp.

◆ Middle()

void ax::NodeEditor::Utilities::BlueprintNodeBuilder::Middle ( )

Begins building of the middle of the node.

Definition at line 121 of file BlueprintNodeBuilder.cpp.

◆ Output()

void ax::NodeEditor::Utilities::BlueprintNodeBuilder::Output ( ax::NodeEditor::PinId id)

Begins building an output pin.

Parameters
[in]idId of the pin to build

Definition at line 131 of file BlueprintNodeBuilder.cpp.

◆ Pin()

void ax::NodeEditor::Utilities::BlueprintNodeBuilder::Pin ( ax::NodeEditor::PinId id,
ax::NodeEditor::PinKind kind )
staticprivate

Begins building a pin.

Parameters
[in]idId of the pin to build
[in]kindKind of the pin (input/output)

Definition at line 311 of file BlueprintNodeBuilder.cpp.

◆ SetStage()

bool ax::NodeEditor::Utilities::BlueprintNodeBuilder::SetStage ( Stage stage)
private

Set the stage of the node build process. Takes care of all the Layout elements.

Parameters
[in]stageStage to set
Returns
True if stage was set correctly

Definition at line 159 of file BlueprintNodeBuilder.cpp.

Field Documentation

◆ ContentMax

ImVec2 ax::NodeEditor::Utilities::BlueprintNodeBuilder::ContentMax
private

Maximum size of the content.

Definition at line 96 of file BlueprintNodeBuilder.hpp.

◆ ContentMin

ImVec2 ax::NodeEditor::Utilities::BlueprintNodeBuilder::ContentMin
private

Minimum size of the content.

Definition at line 95 of file BlueprintNodeBuilder.hpp.

◆ CurrentNodeId

NodeId ax::NodeEditor::Utilities::BlueprintNodeBuilder::CurrentNodeId
private

Id of the node currently built.

Definition at line 88 of file BlueprintNodeBuilder.hpp.

◆ CurrentStage

Stage ax::NodeEditor::Utilities::BlueprintNodeBuilder::CurrentStage
private

Current stage of the build process.

Definition at line 89 of file BlueprintNodeBuilder.hpp.

◆ HasHeader

bool ax::NodeEditor::Utilities::BlueprintNodeBuilder::HasHeader
private

Flag whether the node has a header.

Definition at line 97 of file BlueprintNodeBuilder.hpp.

◆ HeaderColor

ImU32 ax::NodeEditor::Utilities::BlueprintNodeBuilder::HeaderColor
private

Color of the header.

Definition at line 90 of file BlueprintNodeBuilder.hpp.

◆ HeaderMax

ImVec2 ax::NodeEditor::Utilities::BlueprintNodeBuilder::HeaderMax
private

Maximum size of the header.

Definition at line 94 of file BlueprintNodeBuilder.hpp.

◆ HeaderMin

ImVec2 ax::NodeEditor::Utilities::BlueprintNodeBuilder::HeaderMin
private

Minimum size of the header.

Definition at line 93 of file BlueprintNodeBuilder.hpp.

◆ HeaderTextureHeight

int ax::NodeEditor::Utilities::BlueprintNodeBuilder::HeaderTextureHeight
private

Height of the header texture.

Definition at line 87 of file BlueprintNodeBuilder.hpp.

◆ HeaderTextureId

ImTextureID ax::NodeEditor::Utilities::BlueprintNodeBuilder::HeaderTextureId
private

Pointer to the texture to use for the header.

Definition at line 85 of file BlueprintNodeBuilder.hpp.

◆ HeaderTextureWidth

int ax::NodeEditor::Utilities::BlueprintNodeBuilder::HeaderTextureWidth
private

Width of the header texture.

Definition at line 86 of file BlueprintNodeBuilder.hpp.

◆ NodeMax

ImVec2 ax::NodeEditor::Utilities::BlueprintNodeBuilder::NodeMax
private

Maximum size of the node.

Definition at line 92 of file BlueprintNodeBuilder.hpp.

◆ NodeMin

ImVec2 ax::NodeEditor::Utilities::BlueprintNodeBuilder::NodeMin
private

Minimum size of the node.

Definition at line 91 of file BlueprintNodeBuilder.hpp.


The documentation for this class was generated from the following files: