Sean Kim 852b3dbff3 Refactor: Sculpt: Split sculpt_intern.hh into separate header files
This commit takes the namespaces used in `sculpt_intern.hh` and splits
them into their own header files to better logically separate data and
avoid pulling in so many transitive dependencies by needing to include
`sculpt_intern.hh`

Actual removal of `sculpt_intern.hh` from other files is pending
further cleanup of the methods contained within.

A quick summary of the other changes included in this commit:
* `enum` to `enum class` cleanup for enums to enable forward
  declarations
* `FilterCache` default destructor to allow forward declaration of
  other dependent `struct`s contained in `unique_ptr`s
* Cleanup of unused headers
* Move `SculptBoundary` into the `boundary` namespace
* Move misc brush method forward declarations into `types.hh`

For a given `.cc` file that corresponds to a specific `.hh` file, the
header has been placed at the very top to try and ensure that the
needed data is self contained.

Forward declaration is preferred in most of these files outside of the
templates, classes, and structs in BLI headers.

---

Manual testing done:
- Enter Sculpt mode and perform strokes
- Use automasking for some strokes
- Use mesh filter

Pull Request: https://projects.blender.org/blender/blender/pulls/126443
2024-08-19 19:01:27 +02:00
2024-08-16 18:35:17 +02:00
2024-08-19 14:26:53 +02:00
2023-12-08 13:28:13 +11:00

Blender

Blender is the free and open source 3D creation suite. It supports the entirety of the 3D pipeline-modeling, rigging, animation, simulation, rendering, compositing, motion tracking and video editing.

Blender screenshot

Project Pages

Development

License

Blender as a whole is licensed under the GNU General Public License, Version 3. Individual files may have a different, but compatible license.

See blender.org/about/license for details.

Description
No description provided
Readme 841 MiB
Languages
C++ 78%
Python 14.9%
C 2.9%
GLSL 1.9%
CMake 1.2%
Other 0.9%