Skip to content

Commit

Permalink
Merge branch 'enh_manifold_models'
Browse files Browse the repository at this point in the history
  • Loading branch information
jonathanhogg committed Nov 15, 2024
2 parents 37a7689 + be52fa9 commit 057bda8
Show file tree
Hide file tree
Showing 3 changed files with 142 additions and 164 deletions.
4 changes: 4 additions & 0 deletions src/flitter/engine/control.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
from ..language.vm import log_vm_stats
from ..model import Vector, StateDict, Context, null, numbers_cache_counts, empty_numbers_cache
from ..plugins import get_plugin
from ..render.window.models import Model


class EngineController:
Expand Down Expand Up @@ -334,6 +335,9 @@ async def run(self):
self._references = {}
self.pages = []
program = run_program = current_program = context = None
count = Model.flush_cache()
if count:
logger.trace("Flushed {} 3D models", count)
SharedCache.clean(0)
for renderers in self.renderers.values():
while renderers:
Expand Down
11 changes: 5 additions & 6 deletions src/flitter/render/window/models.pxd
Original file line number Diff line number Diff line change
Expand Up @@ -10,24 +10,23 @@ cdef int64_t DefaultSegments

cdef class Model:
cdef readonly str name
cdef readonly object trimesh_model
cdef readonly bint created
cdef readonly bint valid
cdef readonly dict cache
cdef Vector bounds
cdef set dependents
cdef list buffer_caches

cpdef bint is_manifold(self)
cpdef void check_for_changes(self)
cpdef bint is_manifold(self)
cpdef object build_trimesh(self)
cpdef object build_manifold(self)

cpdef void add_dependent(self, Model model)
cpdef void invalidate(self)
cpdef object get_trimesh(self)
cpdef Vector get_bounds(self)
cpdef object get_trimesh(self)
cpdef object get_manifold(self)
cdef tuple get_buffers(self, object glctx, dict objects)

cpdef Model manifold(self)
cpdef Model flatten(self)
cpdef Model invert(self)
cpdef Model repair(self)
Expand Down
Loading

0 comments on commit 057bda8

Please sign in to comment.