from __future__ import annotations
import cPy.cTypes
import cPy.ClassArray
import cPy.cCore
#cNodeSystem
import Coat_CPP
import typing
from typing import ClassVar
from typing import TypeAlias
from typing import Any
from enum import Enum
[docs]
class NodeGraph(cPy.cCore.BaseClass):
'''
'''
[docs]
@staticmethod
def dynamic_cast(pObject : cPy.cCore.BaseClass)->NodeGraph:
'''
An analogue of the dynamic_cast function from C++, it checks whether the object pObject is a NodeGraph class or its descendant, and if so, returns the specified object, but of the NodeGraph type.
'''
pass # cpp source
Category: cPy.cTypes.cStr #: cStr (T)
Folder: cPy.cTypes.cStr #: cStr (T)
Name: cPy.cTypes.cStr #: cStr (T)
LayerName: cPy.cTypes.cStr #: cStr (T)
KeepIconsFBO: bool = Coat_CPP.NodeGraph.KeepIconsFBO #: static bool (T)
OpenGLInitialized: bool = Coat_CPP.NodeGraph.OpenGLInitialized #: static bool (T)
previewRender: any #: NGPresetsPreviewer (T)
ndHash: int #: DWORD (T)
ndHashOffset: int #: DWORD (T)
NeedMakeScript: bool #: bool (T)
NeedRefreshResult: bool #: bool (T)
HasCompileError: bool #: bool (T)
CompileLog: cPy.cTypes.cStr #: cStr (T)
RampListTexture: any #: comms :: cImage (T)
RampListGLTexture: int #: int (T)
[docs]
def RenderPreview(self, node: any):
pass # cpp source
def __init__(self, _0: any, AutoDestroy: bool):
pass # CPP source
def __init__(self):
pass # CPP source
def __init__(self):
pass # CPP source
[docs]
def Clear(self):
pass # cpp source
[docs]
def SetCanvas(self, _0: any, AutoDestroy: bool):
pass # cpp source
[docs]
def GetCanvas(self) -> any:
pass # cpp source
NodeGraphInEditor: NodeGraph = Coat_CPP.NodeGraph.NodeGraphInEditor #: static NodeGraph * (T)
NodeAllowGizmo: bool = Coat_CPP.NodeGraph.NodeAllowGizmo #: static bool (T)
GlobalPropertyVisibilityLevel: int = Coat_CPP.NodeGraph.GlobalPropertyVisibilityLevel #: static int (T)
BuildTimeKnotId: int = Coat_CPP.NodeGraph.BuildTimeKnotId #: static int (T)
LMB: bool #: bool (T)
sLMB: bool = Coat_CPP.NodeGraph.sLMB #: static bool (T)
HasAlbedoOut: bool #: bool (T)
HasMetalOut: bool #: bool (T)
HasNormalOut: bool #: bool (T)
HasGlossOut: bool #: bool (T)
HasDisplacementOut: bool #: bool (T)
HasPositionOut: bool #: bool (T)
HasReflectionColorOut: bool #: bool (T)
HasEmissiveOut: bool #: bool (T)
HasOpacityOut: bool #: bool (T)
HasCavityOut: bool #: bool (T)
HasOcclusionOut: bool #: bool (T)
HasBugleOut: bool #: bool (T)
Nodes: cPy.ClassArray.ClassArray_BaseNode #: ClassArray_BaseNode (T) nodes and knots in scene
LayersList: any #: comms :: cList<NodeGraph *>(T)
PropertiesHash: int #: int (T)
PropertiesHashShift: int #: int (T)
CodeNodeDefine: cPy.cTypes.cStr #: cStr (T)
iNodeCode: cPy.cTypes.cStr #: cStr (T)
iUsedFunctionsCode: cPy.cTypes.cStr #: cStr (T)
isActive: bool #: bool (T)
SkipValidator: bool = Coat_CPP.NodeGraph.SkipValidator #: static bool (T)
isAnyActive: bool = Coat_CPP.NodeGraph.isAnyActive #: static bool (T)
isAVUsed: bool #: bool (T)
UsedCavity: bool #: bool (T)
UsedAO: bool #: bool (T)
OutArrays: dict[cPy.cTypes.cStr, int] #: std :: map<cStr, int>(T)
ComputeShaderID: int #: int (T) index of defined texture(FBO) by array define name
NeedRecenterNodes: bool #: bool (T)
[docs]
def ReCenterNodes(self):
pass # cpp source
[docs]
def RefreshResult(self):
pass # cpp source
[docs]
def EditNodes(self):
pass # cpp source
[docs]
def MakeScript(self):
pass # cpp source
[docs]
def InsertKnotNamesToScript(self, aScript: cPy.cTypes.cStr) -> cPy.cTypes.cStr:
pass # cpp source
[docs]
@staticmethod
def GetDefaultVarsCode() -> cPy.cTypes.cStr:
pass # cpp source
NodeSystemHashOffset: int #: int (T)
[docs]
def GetNodeSystemHash(self) -> int:
pass # cpp source
[docs]
def GetShaderVarsHash(self) -> int:
pass # cpp source
[docs]
def BuildRampListTexture(self):
pass # cpp source
[docs]
def FindElement(self, point: cPy.cTypes.cVec2, res: any, find_in_knots: bool, find_out_knots: bool, findnodes: bool, exceptcaptured: bool, Type: any = None) -> bool:
pass # cpp source
[docs]
def HandleFlyingKnots(self):
pass # cpp source
[docs]
def ClearSelected(self):
pass # cpp source
[docs]
def FindKnot(self, id: str) -> any:
pass # cpp source
[docs]
def NumSelectedNodes(self) -> int:
pass # cpp source
[docs]
def BuildAllLayersNodeList(self):
pass # cpp source
[docs]
def OnLmbDown(self) -> bool:
pass # cpp source
[docs]
def OnLmbUp(self) -> bool:
pass # cpp source
[docs]
def OnRmbDown(self) -> bool:
pass # cpp source
[docs]
def OnRmbUp(self) -> bool:
pass # cpp source
[docs]
def OnMmbDown(self) -> bool:
pass # cpp source
[docs]
def OnMmbUp(self) -> bool:
pass # cpp source
[docs]
def OnKey(self) -> bool:
pass # cpp source
[docs]
def OnDblClick(self) -> bool:
pass # cpp source
[docs]
def OnWheel(self) -> bool:
pass # cpp source
BreakRender: bool #: bool (T)
[docs]
def Render(self):
pass # cpp source
[docs]
def Process(self):
pass # cpp source
[docs]
def CreateUI(self, Rect: any) -> any:
'''
void CreateDefaultCategories();
'''
pass # cpp source
[docs]
def OnCreateControlFromScratch(self, Context: any, Rect: any) -> any:
pass # cpp source
[docs]
def NodeIdByOutUniqueName(self, aUniqueName: cPy.cTypes.cStr) -> int:
pass # cpp source
[docs]
def CalcPropertyHash(self) -> int:
pass # cpp source
[docs]
def MakeNodeCode(self, aCodeLang: any, aNodeCode: cPy.cTypes.cStr, aUsedFunctionsCode: cPy.cTypes.cStr):
pass # cpp source
[docs]
def WriteToLog(self, aCodeLang: any):
pass # cpp source
[docs]
def ComputeRender(self):
pass # cpp source
[docs]
def DefineTexture(self, texture_name: str, texture_id: int) -> bool:
pass # cpp source
nodeAllowGizmo: bool #: bool (T)
[docs]
def SetupReferences(self, AllLayers: bool = True):
pass # cpp source
[docs]
def MadeUniqNodeName(self, node_name: cPy.cTypes.cStr, exclude_node: any) -> cPy.cTypes.cStr:
pass # cpp source
[docs]
@staticmethod
def System() -> NodeGraph:
'''
extract NodeGraph from curent UI context - should be called within any UI callback
'''
pass # cpp source
[docs]
@staticmethod
def Node(pos: cPy.cTypes.cVec2) -> any:
'''
extract BaseNode from curent UI context - should be called within any UI callback
'''
pass # cpp source
[docs]
def RemoveNode(self, n: any):
'''
void AddNodesCategory(const char* n);
'''
pass # cpp source
[docs]
def NodesAffectResult(self, aIONodeName: cPy.cTypes.cStr = "") -> bool:
pass # cpp source
[docs]
def Save(self, xml: any, ClassPtr: any, Extra: any):
pass # cpp source
[docs]
def Load(self, xml: any, ClassPtr: any, Extra: any) -> bool:
pass # cpp source
[docs]
def CheckDirectCasting(self) -> bool:
pass # cpp source
[docs]
def Drop(self):
pass # cpp source
[docs]
def DuplicateSelected(self, Shift: bool):
pass # cpp source
[docs]
def DeleteIfNeed(self):
pass # cpp source
[docs]
def DeleteSelected(self):
pass # cpp source
[docs]
def ToggleDisabled(self):
pass # cpp source
[docs]
def LoadNGLFile(self, file_name: str, node_name: str) -> bool:
pass # cpp source
[docs]
def LoadFromFile(self, file_name: str) -> bool:
pass # cpp source
[docs]
def SaveToFile(self, file_name: str) -> bool:
pass # cpp source
[docs]
def IgnoreAllErrors(self):
pass # cpp source
[docs]
def Rebuild(self) -> int:
pass # cpp source
[docs]
def SetProperty(self, node_name: str, property_name: str, value: float, value_2: float = 0, value_3: float = 0, value_4: float = 0) -> int:
pass # cpp source
[docs]
def WriteResultScriptToLog(self) -> int:
pass # cpp source
[docs]
class BaseNode(cPy.cCore.BaseClass):
'''
'''
[docs]
@staticmethod
def dynamic_cast(pObject : cPy.cCore.BaseClass)->BaseNode:
'''
An analogue of the dynamic_cast function from C++, it checks whether the object pObject is a BaseNode class or its descendant, and if so, returns the specified object, but of the BaseNode type.
'''
pass # cpp source
NodeTypes: dict[str, BaseNode] = Coat_CPP.BaseNode.NodeTypes #: static std :: mapBaseNode *>(T)
[docs]
@staticmethod
def RegNodeType(node_path: str, node_sample: BaseNode):
pass # cpp source
def __init__(self):
pass # CPP source
def __init__(self) -> any:
pass # CPP source
ShowInObjectInspector: bool #: bool (T)
NodeGraphLayerIdx: int #: int (T)
NGLSrcPropertiesHash: int #: int (T)
DefinesHash: int #: int (T)
SourceRevisionID: int #: int (T)
[docs]
def CalcPropertyHash(self) -> int:
pass # cpp source
AllowSubNodes: bool #: bool (T)
[docs]
def SubNodes(self) -> any:
pass # cpp source
ParentNodeSystem: NodeGraph #: NodeGraph * (T)
NGLNodeReference: any #: NGLNodeSourceResult * (T)
NodeFilePath: cPy.cTypes.cStr #: cStr (T) Node source file path (NGL for materials)
UICompilerMessage: cPy.cTypes.cStr #: cStr (T) An error or warning message for a node
UICompilerERROR: bool #: bool (T) An error or warning message for a node
NodeIdx: int #: int (T) position on local space of the canvas
Position: any #: Rct (T)
NeedDelete: bool #: bool (T)
Selected: bool #: bool (T)
Disabled: bool #: bool (T) disabled, should not be used incalculations
Captured: bool #: bool (T) the node is catured to be draged
TextWithShadow: bool #: bool (T) Draw txt with shadows
ShowKnotsNames: bool #: bool (T) Display knots names in UI
LoadSaveExtension: cPy.cTypes.cStr #: cStr (T) set extension there if you need Load/Save botton in node editor triggered by doubleclick
WithoutHeader: bool #: bool (T) optional feature - node without header
CentralImage: int #: int (T) central image over the node, -1 means no image
CentralImageIsFBO: bool #: bool (T)
CentralImagePreviewHash: int #: DWORD (T)
IconStyle: bool #: bool (T) wrap central image to the whole node
WrapCentralImage: bool #: bool (T) wrap central image to the whole node
ImageSize: cPy.cTypes.cVec2 #: cVec2 (T) if ImageSize
Color: int #: DWORD (T) color of the node below the header
HeaderColor: int #: DWORD (T) color of the header
CommentColor: int #: DWORD (T)
NodesDistance: int #: int (T) vertical distance between the knots
TypeName: cPy.cTypes.cStr #: cStr (T) Text in the node header, this is also listed in RMB menu. You may change it after adding node to the scene.
NodeName: cPy.cTypes.cStr #: cStr (T)
NodeUIName: cPy.cTypes.cStr #: cStr (T)
Comment: cPy.cTypes.cStr #: cStr (T)
Subcategory: cPy.cTypes.cStr #: cStr (T) category of the node for the RMB menu
Text: cPy.cTypes.cStr #: cStr (T) text drawn within the node
HelperText: cPy.cTypes.cStr #: cStr (T) The ID used in editor of the node (if available) as desciption text in the message box. Should be filled in the constructor.
In: cPy.ClassArray.ClassArray_knProperty #: ClassArray_knProperty (T) input connections
Out: cPy.ClassArray.ClassArray_knProperty #: ClassArray_knProperty (T) output connections
[docs]
def GetInProperty(self, aPropertyName: cPy.cTypes.cStr) -> any:
pass # cpp source
[docs]
def GetOutProperty(self, aPropertyName: cPy.cTypes.cStr) -> any:
pass # cpp source
[docs]
def FixNodeName(self):
pass # cpp source
[docs]
def SetupInPointers(self):
pass # cpp source
[docs]
def SetupInNamesByPointers(self):
pass # cpp source
[docs]
def SetInKnot(self, aPropertyName: cPy.cTypes.cStr, aKnot: any) -> bool:
pass # cpp source
def SetInProperty(self, aPropertyName: cPy.cTypes.cStr, aValue: cPy.cTypes.cVec4) -> bool:
pass # cpp source
def SetOutProperty(self, aPropertyName: cPy.cTypes.cStr, aValue: cPy.cTypes.cVec4, aCreatePropety: bool = False) -> bool:
pass # cpp source
def SetInProperty(self, aPropertyName: cPy.cTypes.cStr, aValue: cPy.cTypes.cVec3) -> bool:
pass # cpp source
def SetOutProperty(self, aPropertyName: cPy.cTypes.cStr, aValue: cPy.cTypes.cVec3, aCreatePropety: bool = False) -> bool:
pass # cpp source
def SetInProperty(self, aPropertyName: cPy.cTypes.cStr, aValue: any) -> bool:
pass # cpp source
def SetOutProperty(self, aPropertyName: cPy.cTypes.cStr, aValue: any, aCreatePropety: bool = False) -> bool:
pass # cpp source
def SetInProperty(self, aPropertyName: cPy.cTypes.cStr, aValue: float) -> bool:
pass # cpp source
[docs]
def SetOutProperty(self, aPropertyName: cPy.cTypes.cStr, aKnaValueot: float, aCreatePropety: bool = False) -> bool:
pass # cpp source
[docs]
def SetInProperty(self, aPropertyName: cPy.cTypes.cStr, aValue: any) -> bool:
pass # cpp source
[docs]
def SetDefine(self, aDefineName: cPy.cTypes.cStr, aValue: int) -> bool:
pass # cpp source
[docs]
def SetStringDefine(self, aDefineName: cPy.cTypes.cStr, aValue: cPy.cTypes.cStr) -> bool:
pass # cpp source
UserDefines: any #: NodeNGLUserDefines (T) Values of Defines that have been set by the user for this node.
[docs]
def GetInVarType(self, aInId: int) -> cPy.cTypes.cStr:
pass # cpp source
[docs]
def GetOutVarType(self, aOutId: int) -> cPy.cTypes.cStr:
pass # cpp source
[docs]
def NodeSource(self) -> any:
'''
Render node itself.
'''
pass # cpp source
[docs]
def UpdatePropertiesByNodeType(self):
pass # cpp source
[docs]
def OnProcess(self):
'''
Render node itself.
'''
pass # cpp source
[docs]
def Render(self, canvas: any):
'''
Render node itself.
'''
pass # cpp source
[docs]
def RenderCurve(self, canvas: any, p0: cPy.cTypes.cVec2, p1: cPy.cTypes.cVec2, p2: cPy.cTypes.cVec2, p3: cPy.cTypes.cVec2):
'''
render in/out links for the node
'''
pass # cpp source
[docs]
def RenderLink(self, canvas: any, p0: cPy.cTypes.cVec2, p1: cPy.cTypes.cVec2, aOffset: float, aOffset2: float):
pass # cpp source
[docs]
def RenderLinks(self, canvas: any):
pass # cpp source
[docs]
def EditContent(self, show: bool) -> bool:
'''
show editor if show == true. Othervice return true if editor available
'''
pass # cpp source
[docs]
def EditClass(self, bc: cPy.cCore.BaseClass):
'''
by default, EditContent just calls EditClass(this)
'''
pass # cpp source
[docs]
def GetDimensions(self, canvas: any) -> cPy.cTypes.cVec3:
'''
return cVec3(width, header_height,bottom_height)
'''
pass # cpp source
[docs]
def SetLook(self, canvas: any, WithHeader: bool, Semitransparent: bool):
'''
set style of the node. It is better to call it in each Render cycle as first command.
'''
pass # cpp source
[docs]
def GetUsedFunctions(self, aFuncCode: cPy.cTypes.cStr, aCodeLang: any, aRevisionId: int):
'''
virtual void CheckTypes();
'''
pass # cpp source
[docs]
def MakeCode(self, aCode: cPy.cTypes.cStr, aCodeLang: any):
pass # cpp source
[docs]
def GetShaderVarHash(self) -> int:
pass # cpp source
[docs]
def GetVarIdsInShader(self, aShaderIdx: int, aOutIds: int):
pass # cpp source
[docs]
def SetShaderVars(self, aShaderIdx: int, aVarIds: int):
'''
Set var value in result shader
'''
pass # cpp source
[docs]
def ImpactToNodeSystem(self, aNodeSystem: NodeGraph):
'''
Make changes in parent NodeSystem if need
'''
pass # cpp source
[docs]
def findNodeInPrevs(self, pNode: BaseNode) -> bool:
pass # cpp source
[docs]
def getFirstInKnotVarType(self, aCodeLang: any) -> cPy.cTypes.cStr:
pass # cpp source
[docs]
def IN_K(self, aInKnotID: int) -> cPy.cTypes.cStr:
pass # cpp source
[docs]
def OUT_K(self, aOutKnotID: int) -> cPy.cTypes.cStr:
pass # cpp source
[docs]
def SetupKnotsUsage(self):
pass # cpp source
[docs]
def Save(self, xml: any, ClassPtr: any = None, Extra: any = None):
pass # cpp source
[docs]
def Load(self, xml: any, ClassPtr: any = None, Extra: any = None) -> bool:
pass # cpp source
[docs]
def LoadBody(self, xml: any, ClassPtr: any = None, Extra: any = None) -> bool:
pass # cpp source
[docs]
class ndNGLNode(BaseNode):
[docs]
@staticmethod
def dynamic_cast(pObject : cPy.cCore.BaseClass)->ndNGLNode:
'''
An analogue of the dynamic_cast function from C++, it checks whether the object pObject is a ndNGLNode class or its descendant, and if so, returns the specified object, but of the ndNGLNode type.
'''
pass # cpp source
NeedSecondBuild: bool #: bool (T)
[docs]
def NodeSource(self) -> any:
pass # cpp source
def __init__(self):
pass # CPP source
[docs]
def GetUsedFunctions(self, aFuncCode: cPy.cTypes.cStr, aCodeLang: any, aRevisionId: int):
pass # cpp source
[docs]
def MakeCode(self, aCode: cPy.cTypes.cStr, aCodeLang: any):
pass # cpp source
[docs]
def Render(self, canvas: any):
pass # cpp source
[docs]
def OnProcess(self):
pass # cpp source
[docs]
@staticmethod
def GetSourceByFilePath(aFilePath: cPy.cTypes.cStr, aUserDefines: any, aNodeIdx: int) -> any:
pass # cpp source
[docs]
@staticmethod
def LoadAllNodesFromFiles():
pass # cpp source
[docs]
def GetClassMask(self) -> int:
pass # cpp source
[docs]
def UpdatePropertiesByNodeType(self):
pass # cpp source
[docs]
def LoadFromFile(self):
pass # cpp source
[docs]
def LoadFromFilePath(self, aFileName: cPy.cTypes.cStr):
pass # cpp source
[docs]
def AddCustomProperty(self):
pass # cpp source
[docs]
def EditSource(self):
pass # cpp source
[docs]
def SaveFile(self):
pass # cpp source
[docs]
def SaveAs(self):
pass # cpp source
[docs]
class BaseKnot(cPy.cCore.BaseClass):
'''
'''
[docs]
@staticmethod
def dynamic_cast(pObject : cPy.cCore.BaseClass)->BaseKnot:
'''
An analogue of the dynamic_cast function from C++, it checks whether the object pObject is a BaseKnot class or its descendant, and if so, returns the specified object, but of the BaseKnot type.
'''
pass # cpp source
CurrentOIPaddingCount: int #: int (T)
def __init__(self):
pass # CPP source
Image: int #: int (T)
isInputKnot: bool #: bool (T)
HiddenWOKnot: bool #: bool (T)
Captured: bool #: bool (T)
HasConnection: bool #: bool (T)
AllowEditKnotColor: bool #: bool (T)
KnotUsage: int #: int (T)
Position: cPy.cTypes.cVec2 #: cVec2 (T) 0 - free knot, 1 - in-knot, 2 - out-knot
KnotName: cPy.cTypes.cStr #: cStr (T)
KnotUIName: cPy.cTypes.cStr #: cStr (T)
CustomUIName: cPy.cTypes.cStr #: cStr (T)
UniqueName: cPy.cTypes.cStr #: cStr (T)
Color: int #: DWORD (T)
PropertyType: any #: knPropertyType (T)
CodeFuncAttrType: cPy.cTypes.cStr #: cStr (T) 0 - no default value; 1 - Float; 2 - Vector2D; 3 - Vector3D; 4 - Vector4D; 5 - Color;
ParentNode: BaseNode #: BaseNode * (T)
InNodeName: cPy.cTypes.cStr #: cStr (T) each knot may have one input connection
InKnotName: cPy.cTypes.cStr #: cStr (T)
PInConnection: any #: knProperty * (T)
[docs]
def SetInConnection(self, aInConnection: any):
pass # cpp source
[docs]
def CompatibleWithOutput(self, InKnot: BaseKnot) -> bool:
'''
check if knot may accept this type of output knots, no need to override it if you written own MayBeCastedTo function
'''
pass # cpp source
[docs]
def CastTo(self, type: str) -> bool:
'''
try to cast this knot to the specified type, returns true if successfull. If empty string passed the node should be untyped if it is allowed
'''
pass # cpp source
[docs]
def MayBeCastedTo(self, aKnot: BaseKnot) -> bool:
'''
check if this type may be casted to type
'''
pass # cpp source
[docs]
def StrictlyTyped(self) -> bool:
'''
return false if this knot may be casted to other types in general
'''
pass # cpp source
[docs]
def AlreadyTyped(self) -> bool:
'''
return true if knot already casted to some defined type
'''
pass # cpp source
[docs]
def RemoveLink(self):
pass # cpp source
[docs]
def Render(self, canvas: any):
pass # cpp source
[docs]
def Process(self):
pass # cpp source
[docs]
class knProperty(BaseKnot):
[docs]
@staticmethod
def dynamic_cast(pObject : cPy.cCore.BaseClass)->knProperty:
'''
An analogue of the dynamic_cast function from C++, it checks whether the object pObject is a knProperty class or its descendant, and if so, returns the specified object, but of the knProperty type.
'''
pass # cpp source
PropertyIdx: int #: int (T)
NodeSystemRampIdx: int #: int (T)
isOutProperty: bool #: bool (T)
CustomProperty: bool #: bool (T)
inlineExpression: bool #: bool (T)
AllowCurve: bool #: bool (T)
AllowDefineTexture: bool #: bool (T)
IsExpandedInOI: int #: int (T)
VisLevel: int #: int (T)
CodeFuncAttrID: int #: int (T) For whom to show this attribute (for everyone, favorite, for experts or hide)
ElementCount: int #: int (T)
ShowCurveUI: bool #: bool (T)
CustomExpression: bool #: bool (T)
PropertyType: any #: knPropertyType (T)
[docs]
def GetV4(self) -> cPy.cTypes.cVec4:
'''
0 - no default value; 1 - Float; 2 - Vector2D; 3 - Vector3D; 4 - Vector4D; 5 - Color;
'''
pass # cpp source
Deform: any #: PropertyRamp (T)
spHash: int #: DWORD (T)
legacy: cPy.cTypes.cStr #: cStr (T)
Expression: any #: ndNGLNodeSource (T)
UserDefines: any #: NodeNGLUserDefines (T)
DefKnot: cPy.cTypes.cStr #: cStr (T)
DefaultMin: float #: float (T)
DefaultMax: float #: float (T)
def __init__(self):
pass # CPP source
def __init__(self, _0: str, aResultType: any, CL: int = 00000):
pass # CPP source
def __init__(self, CL: int, _1: str, aDefaultValue: float, aMin: float = 0, aMax: float = 10, aKnot: cPy.cTypes.cStr = "", aAllowCurves: bool = False, aAllowDefineTexture: bool = False):
pass # CPP source
def __init__(self, CL: int, _1: str, aDefaultValue: any, aKnot: cPy.cTypes.cStr = "", aAllowCurves: bool = False, aAllowDefineTexture: bool = False):
pass # CPP source
def __init__(self, CL: int, _1: str, aDefaultValue: any, aMin: float = 0, aMax: float = 10, aKnot: cPy.cTypes.cStr = "", aAllowCurves: bool = False, aAllowDefineTexture: bool = False):
pass # CPP source
def __init__(self, CL: int, _1: str, aDefaultValue: cPy.cTypes.cVec3, aMin: float = 0, aMax: float = 10, aKnot: cPy.cTypes.cStr = "", aAllowCurves: bool = False, aAllowDefineTexture: bool = False):
pass # CPP source
def __init__(self, CL: int, _1: str, aDefaultValue: cPy.cTypes.cVec4, aMin: float = 0, aMax: float = 10, aKnot: cPy.cTypes.cStr = "", aAllowCurves: bool = False, aAllowDefineTexture: bool = False):
pass # CPP source
[docs]
def Process(self):
pass # cpp source
[docs]
def Render(self, canvas: any):
pass # cpp source
[docs]
def MakeCode(self, aCode: cPy.cTypes.cStr, aCodeLang: any):
pass # cpp source
[docs]
def GetUsedFunctions(self, aFuncCode: cPy.cTypes.cStr, aCodeLang: any):
pass # cpp source
[docs]
def GetUsedGlobalVars(self, aGVarsCode: cPy.cTypes.cStr, aCodeLang: any):
pass # cpp source
[docs]
def SetShaderAttr(self, aShaderId: int, aShaderVarId: int):
pass # cpp source
[docs]
def EditExpression(self):
pass # cpp source
[docs]
def RemoveProperty(self):
pass # cpp source
[docs]
def EditProperty(self):
pass # cpp source
[docs]
def EditCurve(self):
pass # cpp source
[docs]
def LoadTexture(self):
pass # cpp source
[docs]
def ChangeVisibilityLevel(self):
pass # cpp source
[docs]
def OpenInOI(self):
pass # cpp source
[docs]
def OpenOnClickOI(self):
pass # cpp source
[docs]
def Save(self, xml: any, ClassPtr: any = None, Extra: any = None):
pass # cpp source
[docs]
def Load(self, xml: any, ClassPtr: any = None, Extra: any = None) -> bool:
pass # cpp source
[docs]
def GetClassMask(self) -> int:
pass # cpp source