cPy.cScene module#
- class VoxMethadata[source]#
Bases:
cToolBase class for voxel metadata extensions.Allows attaching additional data or logic to a specific VoxTreeBranch.- static dynamic_cast(pObject: BaseClass) VoxMethadata[source]#
- An analogue of the dynamic_cast function from C++, it checks whether the object pObject is a VoxMethadata class or its descendant, and if so, returns the specified object, but of the VoxMethadata type.
- Parent: any#
- class CutsCollector[source]#
Bases:
objectUtility class for collecting intersection curves and processing boolean edges.Used for operations like creating curves from volume intersections,generating tubes along intersections, or splitting mesh boundaries.- fromVolumesIntersection(volume1: any, volume2: any)[source]#
- Collects intersection edges between two voxel volumes.
- relaxInTube(volume: any, radius: float, symm: bool = True)[source]#
- Relaxes the collected curves inside a tubular volume.
- createWeightsVolume(dest: VolumeObject, radius: float, edges_transform: cMat4)[source]#
- class VoxTreeBranch[source]#
Bases:
objectMain element of the object tree in the sculpt room, rooted at RootVTree.Hierarchical layers (voxel and surface) which you see in the SculptRoom.Every item in this object contains transform matrix and reference to the item inVTree.It refersVolumeObject. There may be multiple references on sameVolumeObjectfrom separateVoxTreeBranch-es.Root of allVoxTreeBrancheskept inRootVTree.see VolumeObject- static dynamic_cast(pObject: any) VoxTreeBranch[source]#
- An analogue of the dynamic_cast function from C++, it checks whether the object pObject is a VoxTreeBranch class or its descendant, and if so, returns the specified object, but of the VoxTreeBranch type.
- Parent: VoxTreeBranch#
- Obj: VolumeObject#
- Reference to the actual geometric/volumetric data.
- StoreMode: bool = False#
- cStr Name; ///< name in tree
- Ghost: bool#
- bool Visible; ///< visibility
- pVoxSurf: bool#
- < ghosting mode
- VoxSurf: bool#
- brief True means Surface mode, false means Voxel mode.
- HideInViewport: bool#
- Procesed: bool#
- < Hidden in viewport, but pickable/visible in tree.
- IsRef: bool#
- bool OpenState; ///< branch is open
- IsActive: bool#
- IsInTransform: bool#
- ToDestroy: bool#
- InCache: bool#
- < should be destroyed. Don’t delete leafs manually, just set this flag!
- Instance: bool#
- Indicates if the object is an instance. If false, it is the original object. If true, the object references an existing VolumeObject to save memory.
- SkipPick: bool#
- Inverse: bool#
- SelectionTime: int#
- bool Selected;
- SpaceID: int#
- < symmetry data kept to be stored in undo routine
- ProxyScale: float#
- int Level; ///< deph in VoxTree structure
- GizmoCenrtified: bool#
- GizmoDirected: bool#
- Methadata: any#
- LockedVolumeChanged: VoxTreeBranch = None#
- tmpLinkedObjects: any#
- SceneNGObjects: ClassArray_NGObject = <Coat_CPP.ClassArray_NGObject object>#
- NGObjectIdx: int#
- LastTransformTick: int#
- MergeDisplacement: float = 0.0#
- ChildObjects(i: int) VoxTreeBranch[source]#
- ClassArray<VoxTreeBranch> ChildObjects;
- ChildObjectsAdd(tb: VoxTreeBranch)[source]#
- ChildObjectsInsert(Pos: int, tb: VoxTreeBranch)[source]#
- PrimPresets: any#
- primitives usage history
- Add(name: str, CheckExisting: bool, T: cMat4 = None) VoxTreeBranch[source]#
- CheckPresenceInSubTree(Element: VoxTreeBranch) bool[source]#
- Restores the child structure from a helper list.
- Approve(p: VoxTreeBranch) VoxTreeBranch[source]#
- MergeObj(p: VoxTreeBranch) bool[source]#
- PlainMergeObj(p: VoxTreeBranch) bool[source]#
- static ApplyTransformToInstances(M: cMat4, vo: VolumeObject, InstOnly: bool = False, R: bool = False, applyNGScale: bool = True)[source]#
- MoveObj(p: VoxTreeBranch, KeepSource: bool) bool[source]#
- Boolean Operations
- PlainMoveObj(p: VoxTreeBranch) bool[source]#
- SubObj(p: VoxTreeBranch, KeepSource: bool) bool[source]#
- IntrsObj(p: VoxTreeBranch, KeepSource: bool) bool[source]#
- RemIntrsObj(p: VoxTreeBranch) bool[source]#
- SplitObj(p: VoxTreeBranch) bool[source]#
- ChangeParent(p: VoxTreeBranch) bool[source]#
- ChangeThisParent(p: VoxTreeBranch) bool[source]#
- GetRoot() VoxTreeBranch[source]#
- DeselectAll(R: VoxTreeBranch = None) bool[source]#
- CreateUniqSpace(safe: bool, suffix: str) VoxTreeBranch[source]#
- Clone(Recursive: bool = False, dest: VoxTreeBranch = None, Inst: bool = False, Subtree: bool = False, T: cMat4 = cPy.cTypes.cMat4.Identity, ChangeTool: bool = True, CopyData: bool = True, SetCurr: bool = True, ForceReplaceDest: bool = False, SelectedOnly: bool = False) VoxTreeBranch[source]#
- Clones the object/branch.
- Parameters:
Recursive (bool) – Clone children recursively.
dest (VoxTreeBranch) – Destination branch (parent).
Inst (bool) – Create as an instance (share volume data).
Subtree (bool) – Include full subtree.
T (cMat4) – Optional transform offset.
- Returns:
Pointer to the cloned branch.
- Return type:
- MergeTo(Dest: VoxTreeBranch, sub: int, ClearThis: bool, NoUndo: bool)[source]#
- PlainMergeTo(Dest: VoxTreeBranch, NoUndo: bool)[source]#
- find(gu: int, NonInstance: bool = True) VoxTreeBranch[source]#
- GetParent(tb: VoxTreeBranch) VoxTreeBranch[source]#
- CloneSpaceVT(changetool: bool = True, subtree: bool = False) VoxTreeBranch[source]#
- static Current() VoxTreeBranch[source]#
- SeekByUserInt(val: int) VoxTreeBranch[source]#
- static BestCurentCandidate() VoxTreeBranch[source]#
- CheckIfParent(child: VoxTreeBranch) bool[source]#
- FindParent(root: VoxTreeBranch, index: int) VoxTreeBranch[source]#
- SemiBoolean(other: VoxTreeBranch, op_type: int)[source]#
- static ApplySurfaceChangesToVoxelsVolumes()[source]#
- static float GetCut(cVec2& minmax, const Vector3D& p, VolumeObject* except, float* unitlen); // implementation not found
- createIntersectionCurveWith(with_vtb: VoxTreeBranch)[source]#
- class VoxVisualTree[source]#
Bases:
VoxTreeBranchThe root class representing the visual object tree structure.Manages global tree operations like adding new volumes, deleting selected, and cloning spaces.