# PropCollection

> Human Generator for Blender documentation. Web version: https://humgen3d.com/docs/api/propcollection

Reached as: `human.eyes.nodes`, `human.hair.modifiers`, `human.hair.eyebrows.modifiers`, `human.hair.eyebrows.nodes`, `human.hair.eyebrows.particle_systems`, `human.hair.eyelashes.modifiers`, `human.hair.eyelashes.nodes`, `human.hair.eyelashes.particle_systems`, `human.hair.face_hair.modifiers`, `human.hair.face_hair.nodes`, `human.hair.face_hair.particle_systems`, `human.hair.regular_hair.modifiers`, `human.hair.regular_hair.nodes`, `human.hair.regular_hair.particle_systems`

Source: https://github.com/OliverJPost/HumGen3D/blob/main/human/common_baseclasses/prop_collection.py#L32

Class for replicating functionality of bpy_prop_collection.

This is used so substs of a prop collection can be used in the same way as the
Blender built in prop collections. Some methods can only be used on the Blender
prop collections, and will raise an exception if used on a custom prop collection.

## Attributes

### is_bpy

```python
PropCollection.is_bpy: isinstance
```

Source: https://github.com/OliverJPost/HumGen3D/blob/main/human/common_baseclasses/prop_collection.py#L48

## Methods

### find()

```python
PropCollection.find(item_name: str) -> int
```

Find index of item in prop collection.

Parameters:
- `item_name` (str): Name of item to find

Returns: int — Index in list

Source: https://github.com/OliverJPost/HumGen3D/blob/main/human/common_baseclasses/prop_collection.py#L51

### get()

```python
PropCollection.get(item_name: str, default: Any = None) -> Union[ID, Any]
```

Parameters:
- `item_name` (str)
- `default` (Any, default None)

Returns: Union[ID, Any]

Source: https://github.com/OliverJPost/HumGen3D/blob/main/human/common_baseclasses/prop_collection.py#L66

### foreach_get()

```python
PropCollection.foreach_get(attr: str, sequence: ndarray)
```

Parameters:
- `attr` (str)
- `sequence` (ndarray)

Source: https://github.com/OliverJPost/HumGen3D/blob/main/human/common_baseclasses/prop_collection.py#L75

### foreach_set()

```python
PropCollection.foreach_set(attr: str, sequence: ndarray)
```

Parameters:
- `attr` (str)
- `sequence` (ndarray)

Source: https://github.com/OliverJPost/HumGen3D/blob/main/human/common_baseclasses/prop_collection.py#L79

### items()

```python
PropCollection.items() -> list[Any]
```

Returns: list[Any]

Source: https://github.com/OliverJPost/HumGen3D/blob/main/human/common_baseclasses/prop_collection.py#L83

### keys()

```python
PropCollection.keys() -> list[Any]
```

Returns: list[Any]

Source: https://github.com/OliverJPost/HumGen3D/blob/main/human/common_baseclasses/prop_collection.py#L87

### values()

```python
PropCollection.values() -> list[Any]
```

Returns: list[Any]

Source: https://github.com/OliverJPost/HumGen3D/blob/main/human/common_baseclasses/prop_collection.py#L91

### new()

```python
PropCollection.new(*items: Any = ())
```

Parameters:
- `items` (Any, default ())

Source: https://github.com/OliverJPost/HumGen3D/blob/main/human/common_baseclasses/prop_collection.py#L95

### remove()

```python
PropCollection.remove(*items: str = ())
```

Parameters:
- `items` (str, default ())

Source: https://github.com/OliverJPost/HumGen3D/blob/main/human/common_baseclasses/prop_collection.py#L99
