Added Topics to structs.scad

This commit is contained in:
Revar Desmera 2023-03-15 00:31:40 -07:00
parent 4aa485b4cc
commit 1d598b3730

View File

@ -19,12 +19,13 @@
// An empty list `[]` is an empty structure and can be used wherever a structure input is required.
// Function: struct_set()
// Topics: Data Structures, Dictionaries
// Usage:
// struct_set(struct, key, value, [grow=])
// struct_set(struct, [key1, value1, key2, value2, ...], [grow=])
// struct2 = struct_set(struct, key, value, [grow=]);
// struct2 = struct_set(struct, [key1, value1, key2, value2, ...], [grow=]);
// Description:
// Sets the key(s) in the structure to the specified value(s), returning a new updated structure. If a key
// exists its value is changed, otherwise the key is added to the structure. If grow is set to false then
// Sets the key(s) in the structure to the specified value(s), returning a new updated structure. If a
// key exists its value is changed, otherwise the key is added to the structure. If `grow=false` then
// it is an error to set a key not already defined in the structure. If you specify the same key twice
// that is also an error. Note that key order will change when you change a key's value.
// Arguments:
@ -54,8 +55,9 @@ function struct_set(struct, key, value, grow=true) =
function _format_key(key) = is_string(key) ? str("\"",key,"\""): key;
// Function: struct_remove()
// Topics: Data Structures, Dictionaries
// Usage:
// struct_remove(struct, key)
// struct2 = struct_remove(struct, key);
// Description:
// Remove key or list of keys from a structure. If you want to remove a single key which is a list
// you must pass it as a singleton list, or struct_remove will attempt to remove the listed items as keys.
@ -70,8 +72,9 @@ function struct_remove(struct, key) =
// Function: struct_val()
// Topics: Data Structures, Dictionaries
// Usage:
// struct_val(struct, key, default)
// val = struct_val(struct, key, default);
// Description:
// Returns the value for the specified key in the structure, or default value if the key is not present
// Arguments:
@ -85,8 +88,9 @@ function struct_val(struct, key, default=undef) =
// Function: struct_keys()
// Topics: Data Structures, Dictionaries
// Usage:
// keys = struct_keys(struct)
// keys = struct_keys(struct);
// Description:
// Returns a list of the keys in a structure
// Arguments:
@ -95,8 +99,10 @@ function struct_keys(struct) = column(struct,0);
// Function&Module: echo_struct()
// Topics: Data Structures, Dictionaries
// Usage:
// echo_struct(struct, [name])
// echo_struct(struct, [name]);
// foo = echo_struct(struct, [name]);
// Description:
// Displays a list of structure keys and values, one pair per line, for easier reading.
// Arguments:
@ -114,8 +120,9 @@ module echo_struct(struct,name="") {
// Function: is_struct()
// Topics: Data Structures, Dictionaries
// Usage:
// is_struct(struct)
// bool = is_struct(struct);
// Description:
// Returns true if the input is a list of pairs, false otherwise.
function is_struct(x) =