-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMaterial.py
62 lines (49 loc) · 2.23 KB
/
Material.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
class Material:
AMBIENT = 1024
DIFFUSE = 2048
EMISSIVE = 4096
SPECULAR = 8192
def __init__(self):
# Simula a criação do objeto Material
self.handle = self.create()
self.ii = False # Inicializa com valor falso por padrão
# Simula a adição ao motor de física ou outro mecanismo de objetos
Engine.add_java_peer(self.handle, self)
def finalize(self):
# Simula a função de finalização (liberação de recursos nativos)
pass
@staticmethod
def create():
# Simula a criação do material no sistema nativo
return 1 # Retorna um "handle" fictício de identificação
def get_shininess(self):
# Retorna o brilho do material
return self._get_native_value("shininess")
def is_vertex_color_tracking_enabled(self):
# Verifica se o rastreamento de cores de vértices está habilitado
return self._get_native_value("vertex_color_tracking")
def set_shininess(self, value):
# Define o brilho do material
self._set_native_value("shininess", value)
def set_vertex_color_tracking_enable(self, enabled):
# Habilita ou desabilita o rastreamento de cores de vértices
self._set_native_value("vertex_color_tracking", enabled)
def get_color(self, color_type):
# Retorna a cor de um tipo específico (ambiental, difusa, etc.)
return self._get_native_value(f"color_{color_type}")
def set_color(self, color_type, color_value):
# Define a cor de um tipo específico (ambiental, difusa, etc.)
self._set_native_value(f"color_{color_type}", color_value)
def _get_native_value(self, name):
# Simula a interação com a parte nativa para pegar um valor
print(f"Obtendo {name} do sistema nativo...")
return 0 # Retorna um valor fictício
def _set_native_value(self, name, value):
# Simula a interação com a parte nativa para definir um valor
print(f"Definindo {name} para {value} no sistema nativo...")
pass
# Exemplificação de uso
material = Material()
material.set_shininess(0.5)
shininess = material.get_shininess()
print(f"Brilho: {shininess}")