mirror of
https://github.com/3b1b/manim.git
synced 2025-04-13 09:47:07 +00:00
50 lines
1.4 KiB
Python
50 lines
1.4 KiB
Python
![]() |
import os
|
||
|
import tempfile
|
||
|
|
||
|
from manimlib.utils.file_ops import guarantee_existence
|
||
|
from manimlib.config import get_custom_defaults
|
||
|
from manimlib.config import get_manim_dir
|
||
|
|
||
|
PRE_COMPUTED_DIRS = {}
|
||
|
|
||
|
|
||
|
def get_directories():
|
||
|
if not PRE_COMPUTED_DIRS:
|
||
|
custom_defaults = get_custom_defaults()
|
||
|
PRE_COMPUTED_DIRS.update(custom_defaults["directories"])
|
||
|
|
||
|
# Unless user has specified otherwise, use the system default temp
|
||
|
# directory for storing tex files, mobject_data, etc.
|
||
|
if not PRE_COMPUTED_DIRS["temporary_storage"]:
|
||
|
PRE_COMPUTED_DIRS["temporary_storage"] = tempfile.gettempdir()
|
||
|
|
||
|
# Assumes all shaders are written into manimlib/shaders
|
||
|
PRE_COMPUTED_DIRS["shaders"] = os.path.join(
|
||
|
get_manim_dir(), "manimlib", "shaders"
|
||
|
)
|
||
|
return PRE_COMPUTED_DIRS
|
||
|
|
||
|
|
||
|
def get_tex_dir():
|
||
|
return guarantee_existence(os.path.join(get_directories()["temporary_storage"], "Tex"))
|
||
|
|
||
|
|
||
|
def get_mobject_data_dir():
|
||
|
return guarantee_existence(os.path.join(get_directories()["temporary_storage"], "mobject_data"))
|
||
|
|
||
|
|
||
|
def get_output_dir():
|
||
|
return guarantee_existence(get_directories()["output"])
|
||
|
|
||
|
|
||
|
def get_raster_image_dir():
|
||
|
return get_directories()["raster_images"]
|
||
|
|
||
|
|
||
|
def get_vector_image_dir():
|
||
|
return get_directories()["vector_images"]
|
||
|
|
||
|
|
||
|
def get_shader_dir():
|
||
|
return get_directories()["shaders"]
|