c4d.BaseSelect¶
- 
class c4d.BaseSelect¶
- This class is used to keep track of point and polygon selections.Each method will raise an exception when a host object is established, but not alive anymore.
Methods Signatures
| Initializes a new base selection. | 
| Get the number of selected elements. | |
| Get the number of segments that contain elements. | |
| Get the selection state of an element. | |
| Selects an element. | |
| Selects all elements within the given range. | |
| Deselects an element. | |
| Deselect all elements. | |
| Toggles the selection state of an element. | |
| Toggle the selection state of all elements in the given range. | |
| Returns the selected elements contained in a segment. | |
| Selects all elements that are selected in src. | |
| Deselects all elements that are selected in src. | |
| Intersects all elements in src. | |
| Make a duplicate of this selection object with its elements. | |
| Returns the dirty counter of the selection. | |
| Copy the selection elements in this selection object to another BaseSelect. | |
| Set all selected elements from a list. | |
| Returns all selected elements in a list. | |
| Returns if the host object is still alive. | |
| Saves the selection to a file. | |
| Reads a selection from a file. | |
| Returns which segment contains the element num. | |
| Returns the last element. | 
Methods Documentation
- 
BaseSelect.__init__(self)¶
- Initializes a new base selection. 
- 
BaseSelect.GetCount(self)¶
- Get the number of selected elements. - Return type
- int 
- Returns
- The number of selected elements. 
 
- 
BaseSelect.GetSegments(self)¶
- Get the number of segments that contain elements.For example: the selections 0..4, 6..7, 9..12 would be three segments.This method would return 3 andGetCount()would return 11.- Return type
- int 
- Returns
- The number of selected segments. 
 
- 
BaseSelect.IsSelected(self, num)¶
- Get the selection state of an element. - To efficiently go through selections use the following code. - bs = op.GetPointS() sel = bs.GetAll(op.GetPointCount()) for index, selected in enumerate(sel): if not selected: continue print(f"Index {index} is selected") - This is faster than. - bs = op.GetPointS() for index in range(op.GetPointCount()): if bs.IsSelected(index): print(f"Index {index} is selected") - Parameters
- num (int) – The element index to select. 
- Return type
- bool 
- Returns
- True if the element was already selected. 
 
- 
BaseSelect.Select(self, num)¶
- Selects an element. - Parameters
- num (int) – The element index to select. 
- Return type
- bool 
- Returns
- True if the element was already selected. 
 
- 
BaseSelect.SelectAll(self, max, min=0, deselectAll=True)¶
- Selects all elements within the given range. - Note - All previous selections are cleared. - Warning - min and max parameters are swapped compared to the C++ API version and min gets a default value of 0. - Here is an example showing how to select all the edges of a - PolygonObject.- import c4d def main(): nbr = c4d.utils.Neighbor() nbr.Init(op) # Initialize neighbor with a polygon object edges = c4d.BaseSelect() edges.SelectAll(nbr.GetEdgeCount()-1) # Select all edges in the range [0, nbr.GetEdgeCount()] op.SetSelectedEdges(nbr, edges, c4d.EDGESELECTIONTYPE_SELECTION) # Select edges from our edges selection c4d.EventAdd() # Update Cinema 4D if __name__ == '__main__': main() - Parameters
- max (int) – The last element in the range to select. 
- min (int) – The first element in the range to select. Default to 0. 
- deselectAll (bool) – - New in version R17.048. - Deselects all previously selected elements before creating the new selection (equivalent to SELECTION_NEW). 
 
- Return type
- bool 
- Returns
- Success of selecting the elements. 
 
- 
BaseSelect.Deselect(self, num)¶
- Deselects an element. - Parameters
- num (int) – The element index to deselect. 
- Return type
- bool 
- Returns
- True if the element was already deselected. 
 
- 
BaseSelect.DeselectAll(self)¶
- Deselect all elements. - Return type
- bool 
- Returns
- Success of deselecting all elements. 
 
- 
BaseSelect.Toggle(self, num)¶
- Toggles the selection state of an element. - Parameters
- num (int) – The index of the element to toggle. 
- Return type
- bool 
- Returns
- Success of changing the selection state of the element. 
 
- 
BaseSelect.ToggleAll(self, min, max)¶
- Toggle the selection state of all elements in the given range. - Parameters
- min (int) – The first element to toggle. 
- max (int) – The last element to toggle in the range. 
 
- Return type
- bool 
- Returns
- Success of changing the selection state. 
 
- 
BaseSelect.GetRange(self, seg, max)¶
- Returns the selected elements contained in a segment.New in version R19. - Parameters
- seg (int) – The segment to get the elements for: 0 <= seg < - GetSegments()
- max (int) – The maximum value for the returned elements numbers.Usually pass- PolygonObject.GetPolygonCount()or- PointObject.GetPointCount()or the edge count of the object.The method makes sure they are < max.
 
- Return type
- Optional[Tuple[int,int]] 
- Returns
- The index of the first and last selected elements in the given segment.If the segment has a length of one, the same if will be set for the first and last entry in the tuple.None if the function failed.
 
- 
BaseSelect.Merge(self, src)¶
- Selects all elements that are selected in src. - Parameters
- src (c4d.BaseSelect) – The source selection object. 
- Return type
- bool 
- Returns
- True if successful, otherwise False. 
 
- 
BaseSelect.DeselectFrom(self, src)¶
- Deselects all elements that are selected in src. - Note - For C++ developers: This function is redirected to Bool Deselect(const BaseSelect *src) - Parameters
- src (c4d.BaseSelect) – The source selection object. 
- Return type
- bool 
- Returns
- True if successful, otherwise False. 
 
- 
BaseSelect.Cross(self, src)¶
- Intersects all elements in src. - New in version R19. - Parameters
- src (c4d.BaseSelect) – The source selection object. 
- Return type
- bool 
- Returns
- True if successful, otherwise False. 
 
- 
BaseSelect.GetClone(self)¶
- Make a duplicate of this selection object with its elements. - Return type
- Returns
- The clone object. 
 
- 
BaseSelect.GetDirty(self)¶
- Returns the dirty counter of the selection.This counter is increased every time a function is called that changes the selection.- Return type
- int 
- Returns
- Dirty counter. 
 
- 
BaseSelect.CopyTo(self, dest)¶
- Copy the selection elements in this selection object to another BaseSelect. - Parameters
- dest (c4d.BaseSelect) – The destination selections object. 
- Return type
- bool 
- Returns
- Success of copying the selection elements. 
 
- 
BaseSelect.SetAll(self, states)¶
- Set all selected elements from a list.The elements in the list are interpreted as boolean: 0 means the element is unselected, and 1 means it is selected.Note The old selection will be completely overridden. - Parameters
- states (List[int]) – A list of elements to select. 
- Return type
- bool 
- Returns
- Success of selecting the elements. 
 
- 
BaseSelect.GetAll(self, max)¶
- Returns all selected elements in a list. - Parameters
- max (int) – The maximum number of elements to place into the array. 
- Return type
- List[int] 
- Returns
- The list 
 
- 
BaseSelect.HostAlive(self)¶
- Returns if the host object is still alive. - Return type
- int 
- Returns
- 2 if the instance has no host object. 
- 1 if the host object is alive if set. 
- 0 if the object is not alive. 
 
 
- 
BaseSelect.Write(self, hf)¶
- Saves the selection to a file. - Parameters
- hf (c4d.storage.HyperFile) – The hyperfile to write to. 
 
- 
BaseSelect.Read(self, hf)¶
- Reads a selection from a file. - Parameters
- hf (c4d.storage.HyperFile) – The hyperfile to read from. 
- Return type
- bool 
- Returns
- True if successful, otherwise False. 
 
- 
BaseSelect.FindSegment(self, num)¶
- Returns which segment contains the element num. - New in version R19. - Parameters
- num (int) – The index of the element. 
- Return type
- int 
- Returns
- The found segment index. -1 if no segment was found. 
 
- 
BaseSelect.GetLastElement(self)¶
- Returns the last element. - Return type
- int 
- Returns
- Last element.