def SetupUserData(): #1.1: UI Header if not ud.UserDataExists(op, "File Handling"): ud.CreateUserData(op, "File Handling", c4d.DTYPE_SEPARATOR) #1.2: "Filename" text box if not ud.UserDataExists(op, "Transformation Matrices File"): ud.CreateUserData(op, "Transformation Matrices File", c4d.DTYPE_FILENAME) #1.3 if not ud.UserDataExists(op, "Data Has Headers"): ud.CreateUserData(op, "Data Has Headers", c4d.DTYPE_BOOL) #2.1: UI Header if not ud.UserDataExists(op, "Display"): ud.CreateUserData(op, "Display", c4d.DTYPE_SEPARATOR) #2.2: "Object Type" text box if not ud.UserDataExists(op, "Display Matrices As"): ud.CreateDropDown(op, "Display Matrices As", c4d.CUSTOMGUI_CYCLE, ["Quad", "Triangle"]) #2.3: "Display Size" slider if not ud.UserDataExists(op, "Display Size"): ud.CreateFloatData(op, "Display Size", "Float Slider", 0, 100, 0.01, "Meters") #3.1: UI Header if not ud.UserDataExists(op, "Pipeline"): ud.CreateUserData(op, "Pipeline", c4d.DTYPE_SEPARATOR) #3.2: "Filename" text box if not ud.UserDataExists(op, "Attach to Cloner"): ud.CreateUserData(op, "Attach to Cloner", c4d.DTYPE_BASELISTLINK)
def SetupUserData(): """ Setup the UI of the Python Generator object """ # ------------------------------------------------------------------------------------------------------------------ # 1 - FILE HANDLING UI --------------------------------------------------------------------------------------------- # ------------------------------------------------------------------------------------------------------------------ # 1.1: UI Header if not ud.UserDataExists(op, "File Handling"): ud.CreateUserData(op, "File Handling", c4d.DTYPE_SEPARATOR) # 1.2: "Filename" text box if not ud.UserDataExists(op, "First Object FileName"): ud.CreateUserData(op, "First Object FileName", c4d.DTYPE_FILENAME, True) # 1.3: "Load All" Boolean, determines whether to load all files in the folder at once if not ud.UserDataExists(op, "Load All"): ud.CreateUserData(op, "Load All", c4d.DTYPE_BOOL) # 1.4 if not ud.UserDataExists(op, "First Frame"): ud.CreateIntegerData(op, "First Frame", "Integer") # 1.5 if not ud.UserDataExists(op, "Last Frame"): ud.CreateIntegerData(op, "Last Frame", "Integer") # 1.6 if not ud.UserDataExists(op, "Frame Step"): ud.CreateIntegerData(op, "Frame Step", "Integer Slider") ud.SetUserDataValue(op, "Frame Step", 1) # 1.7 if not ud.UserDataExists(op, "Frame Offset"): ud.CreateIntegerData(op, "Frame Offset", "Integer Slider") ud.SetUserDataValue(op, "Frame Offset", 0) # 1.8 if not ud.UserDataExists(op, "After Last Frame"): ud.CreateDropDown(op, "After Last Frame", "Cycle", ["Freeze", "Loop", "Ping Pong", "Disappear"]) ud.SetUserDataValue(op, "After Last Frame", 0) # 1.9 if not ud.UserDataExists(op, "File Handling Message"): ud.CreateUserData(op, "File Handling Message", c4d.DTYPE_STATICTEXT, True) # ------------------------------------------------------------------------------------------------------------------ # 2 - MESH HANDLING UI --------------------------------------------------------------------------------------------- # ------------------------------------------------------------------------------------------------------------------ # 2.1 if not ud.UserDataExists(op, "Mesh Handling"): ud.CreateUserData(op, "Mesh Handling", c4d.DTYPE_SEPARATOR) # 2.2 if not ud.UserDataExists(op, "Phong Smoothing"): ud.CreateUserData(op, "Phong Smoothing", c4d.DTYPE_BOOL) # 2.3 if not ud.UserDataExists(op, "Import Vertex Colors"): ud.CreateUserData(op, "Import Vertex Colors", c4d.DTYPE_BOOL) # 2.4 if not ud.UserDataExists(op, "Create Test Material"): ud.CreateUserData(op, "Create Test Material", c4d.DTYPE_BOOL) # 2.5 if not ud.UserDataExists(op, "Mesh Handling Message"): ud.CreateUserData(op, "Mesh Handling Message", c4d.DTYPE_STATICTEXT, True) # 2.6 if not ud.UserDataExists(op, "Vertices"): ud.CreateUserData(op, "Vertices", c4d.DTYPE_STATICTEXT, True) # 2.7 if not ud.UserDataExists(op, "Colors"): ud.CreateUserData(op, "Colors", c4d.DTYPE_STATICTEXT, True) # 2.8 if not ud.UserDataExists(op, "Faces"): ud.CreateUserData(op, "Faces", c4d.DTYPE_STATICTEXT, True) # ------------------------------------------------------------------------------------------------------------------ # 3 - COORDINATE HANDLING UI --------------------------------------------------------------------------------------- # ------------------------------------------------------------------------------------------------------------------ # 3.1 if not ud.UserDataExists(op, "Coordinate Handling"): ud.CreateUserData(op, "Coordinate Handling", c4d.DTYPE_SEPARATOR) # 3.2 if not ud.UserDataExists(op, "Swap Y/Z"): ud.CreateUserData(op, "Swap Y/Z", c4d.DTYPE_BOOL) # 3.3 if not ud.UserDataExists(op, "Flip Z"): ud.CreateUserData(op, "Flip Z", c4d.DTYPE_BOOL) # 3.4 if not ud.UserDataExists(op, "Scale"): ud.CreateFloatData(op, "Scale", "Float Slider", 0.0, 1000.0, 0.1) ud.SetUserDataValue(op, "Scale", 1)
def SetupUserData(): #1 if not ud.UserDataExists(op.GetObject(), "File Handling"): ud.CreateUserData(op.GetObject(), "File Handling", c4d.DTYPE_SEPARATOR, True) #2 if not ud.UserDataExists(op.GetObject(), "First Object FileName"): ud.CreateUserData(op.GetObject(), "First Object FileName", c4d.DTYPE_FILENAME, True) #3 if not ud.UserDataExists(op.GetObject(), "First Frame"): ud.CreateIntegerData(op.GetObject(), "First Frame", "Integer", 0, 100, 1) #4 if not ud.UserDataExists(op.GetObject(), "Last Frame"): ud.CreateIntegerData(op.GetObject(), "Last Frame", "Integer", 0, 100, 1) #5 if not ud.UserDataExists(op.GetObject(), "Frame Step"): ud.CreateIntegerData(op.GetObject(), "Frame Step", "Integer Slider", 1, 100, 1) ud.SetUserData(op.GetObject(), "Frame Step", 1) #6 if not ud.UserDataExists(op.GetObject(), "File Handling Message"): ud.CreateUserData(op.GetObject(), "File Handling Message", c4d.DTYPE_STATICTEXT, True) #7 if not ud.UserDataExists(op.GetObject(), "Mesh Handling"): ud.CreateUserData(op.GetObject(), "Mesh Handling", c4d.DTYPE_SEPARATOR, True) #8 if not ud.UserDataExists(op.GetObject(), "Swap Y/Z"): ud.CreateUserData(op.GetObject(), "Swap Y/Z", c4d.DTYPE_BOOL, True) #9 if not ud.UserDataExists(op.GetObject(), "Phong Smoothing"): ud.CreateUserData(op.GetObject(), "Phong Smoothing", c4d.DTYPE_BOOL, True) #10 if not ud.UserDataExists(op.GetObject(), "Import Vertex Colors"): ud.CreateUserData(op.GetObject(), "Import Vertex Colors", c4d.DTYPE_BOOL, True) #11 if not ud.UserDataExists(op.GetObject(), "Create Test Material"): ud.CreateUserData(op.GetObject(), "Create Test Material", c4d.DTYPE_BOOL, True) #12 if not ud.UserDataExists(op.GetObject(), "Mesh Handling Message"): ud.CreateUserData(op.GetObject(), "Mesh Handling Message", c4d.DTYPE_STATICTEXT, True)