# PatternSettings

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

Reached as: `human.clothing.footwear.pattern`, `human.clothing.outfit.pattern`

Inherits from: [PreviewCollectionContent](https://humgen3d.com/docs/api/previewcollectioncontent)

Source: https://github.com/OliverJPost/HumGen3D/blob/main/human/clothing/pattern.py#L53

Class for changing patterns on individual clothing items.

## Methods

### set()

```python
human.clothing.footwear.pattern.set(preset: str, obj: bpy.types.Object)
```

Loads passed pattern on passed object.

NOTE: Expects passed object to use HG clothing material.

Parameters:
- `preset` (str): Relative path of pattern to load.
- `obj` (bpy.types.Object): Object to apply pattern to.

Source: https://github.com/OliverJPost/HumGen3D/blob/main/human/clothing/pattern.py#L90

### set_random()

```python
human.clothing.footwear.pattern.set_random(obj: bpy.types.Object, context: C = None)
```

Set a random pattern as active on the passed object.

Parameters:
- `obj` (bpy.types.Object): Object to add pattern to.
- `context` (C, default None): Blender context. bpy.context if not provided.

Source: https://github.com/OliverJPost/HumGen3D/blob/main/human/clothing/pattern.py#L119

### remove()

```python
human.clothing.footwear.pattern.remove(obj: bpy.types.Object)
```

Remove pattern from passed object.

Parameters:
- `obj` (bpy.types.Object): Object to remove pattern from.

Source: https://github.com/OliverJPost/HumGen3D/blob/main/human/clothing/pattern.py#L131

### get_options()

```python
human.clothing.footwear.pattern.get_options(context: C = None, category: str = 'All') -> List[str]
```

*inherited from PreviewCollectionContent*

Get a list of options you can use for the set() method of this content.

These represent the choises the user sees in the UI. The output is a list of
relative paths to the content files, starting from the Human Generator folder.

Parameters:
- `context` (C, default None): Blender context. bpy.context if not provided.
- `category` (str, default 'All'): Category to filter the content by. Defaults to "All". You can get a list of categories from the get_categories() method.

Returns: List[str] — List[str]: List of relative paths to content files. You can pick one of these and pass it to the set() method.

Raises: ValueError — If the passed category is not present in the list of categories.

Raises: HumGenException — If no options can be found, this can be caused by the content pack for this type of content not being installed.

Source: https://github.com/OliverJPost/HumGen3D/blob/main/human/common_baseclasses/pcoll_content.py#L98

### get_categories()

```python
human.clothing.footwear.pattern.get_categories() -> list[str]
```

*inherited from PreviewCollectionContent*

Get a list of categoris this content type is organized in.

You can choose one of these categories to filter the content retreived from
get_options().

Returns: list[str] — list[str]: List of categories. These are the names of the folders the content is saved in.

Source: https://github.com/OliverJPost/HumGen3D/blob/main/human/common_baseclasses/pcoll_content.py#L148

### refresh_pcoll()

```python
human.clothing.footwear.pattern.refresh_pcoll(context: C = None, override_category: Optional[str] = None, ignore_searchterm: bool = False)
```

*inherited from PreviewCollectionContent*

Refresh the items of this preview collection.

This is low level functionality, you should not need to use this. It is used
to refresh the list of possible content for this human. If you use get_options()
this is automatically done for you.

Parameters:
- `context` (C, default None): Blender context. bpy.context if not provided.
- `override_category` (Optional[str], default None): Override the category to use, if not provided all items regardless of category will be shown.
- `ignore_searchterm` (bool, default False): If True, the searchterm set by the user will be ignored. Defaults to False.

Source: https://github.com/OliverJPost/HumGen3D/blob/main/human/common_baseclasses/pcoll_content.py#L180
