Material: Material appearance

Uses new material system for appearance

Each feature object now has a property called ShapeMaterial that
describes its physical properties. If it has a shape, it has a
material.

The ShapeColor attribute is replaced by a ShapeAppearance attribute.
This is a material list that describes all appearance properties, not
just diffuse color. As a list in can be used for all elements of a
shape, such as edges and faces.

A new widget is provided to allow the user to select materials in a
consistent fashion. It can also launch the material editor with its
more advanced capabilities.
This commit is contained in:
David Carter
2024-03-17 18:37:56 -04:00
committed by Chris Hennes
parent 37c38acd19
commit ba20441935
121 changed files with 4682 additions and 1685 deletions

View File

@@ -26,7 +26,7 @@ Test module for FreeCAD material cards and APIs
import unittest
import FreeCAD
import Material
import Materials
parseQuantity = FreeCAD.Units.parseQuantity
@@ -37,9 +37,9 @@ class MaterialTestCases(unittest.TestCase):
def setUp(self):
""" Setup function to initialize test data """
self.ModelManager = Material.ModelManager()
self.MaterialManager = Material.MaterialManager()
self.uuids = Material.UUIDs()
self.ModelManager = Materials.ModelManager()
self.MaterialManager = Materials.MaterialManager()
self.uuids = Materials.UUIDs()
def testMaterialManager(self):
""" Ensure the MaterialManager has been initialized correctly """

View File

@@ -26,7 +26,7 @@ Test module for FreeCAD material models
import unittest
import FreeCAD
import Material
import Materials
parseQuantity = FreeCAD.Units.parseQuantity
@@ -36,8 +36,8 @@ class ModelTestCases(unittest.TestCase):
"""
def setUp(self):
""" Setup function to initialize test data """
self.ModelManager = Material.ModelManager()
self.uuids = Material.UUIDs()
self.ModelManager = Materials.ModelManager()
self.uuids = Materials.UUIDs()
def testModelManager(self):
""" Ensure we can access ModelManager member functions """