mantis_dataclasses.py 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. from dataclasses import dataclass, field
  2. from typing import List, Any
  3. @dataclass
  4. class MantisSocketTemplate():
  5. name : str = field(default="")
  6. bl_idname : str = field(default="")
  7. traverse_target : str = field(default="")
  8. identifier : str = field(default="")
  9. display_shape : str = field(default="") # for arrays
  10. category : str = field(default="") # for use in display update
  11. blender_property : str | tuple[str] = field(default="") # for props_sockets -> evaluate sockets
  12. is_input : bool = field(default=False)
  13. hide : bool = field(default=False)
  14. use_multi_input : bool = field(default=False)
  15. default_value : Any = field(default=None)
  16. @dataclass
  17. class xForm_info():
  18. object_type : str = field(default="")
  19. root_armature : str = field(default="")
  20. parent_pose_name : str = field(default="")
  21. parent_edit_name : str = field(default="")
  22. self_pose_name : str = field(default="")
  23. self_edit_name : str = field(default="")
  24. # should I add node signatures to this?
  25. @dataclass
  26. class custom_prop_template():
  27. name : str = field(default="")
  28. prop_type : str = field(default="")
  29. default_value_string : str = field(default="")
  30. default_value_bool : bool = field(default=False)
  31. default_value_int : int = field(default=0)
  32. default_value_float : float = field(default=0.0)
  33. default_value_vector : List[float] = field(default_factory=list)
  34. min : float|int = field(default=0)
  35. max : float|int = field(default=1)
  36. soft_min : float|int = field(default=1)
  37. soft_max : float|int = field(default=1)
  38. description : str = field(default="")