#
# This file sets needed and optional environment variables for
# Open CASCADE Technology
#
# See: https://dev.opencascade.org/doc/overview/html/index.html#OCCT_OVW_SECTION_4_2
# for further documentation.
#
# Some of the values are set at compile time depending on what USE flags
# were enabled. Those values are marked as such.

# define the root directory of Open CASCADE Technology (needed)
CASROOT="VAR_CASROOT"
PATH="VAR_CASROOT/lib/opencascade/bin"
LDPATH="VAR_CASROOT/lib/opencascade"

#############################################################################
# The MMGT_* variables are used to determine how memory management will work
# in OCCT. All of those are optional. If they are not set here, their default
# values will be used.
#
# Uncomment or change the ones you need to adapt from its default.
#############################################################################
# MMGT_OPT = {0,1,2} (default: 0) set at compile time
#   if set to 0 (the default), every memory block is allocated in C
#      memory heap directly (via malloc() and free()). Will be set, if
#      neither the the 'optimize' nor the 'tbb' USE flags are set.
#   if set to 1, the memory manager performs it's own internal optimization.
#      Will be set, if the 'optimize' USE flag is set.
#   if set to 2, Intel(R) TBB optimized memory manager is used. Will be set,
#      if the 'tbb' USE flag is set.
#MMGT_OPT=0

# MMGT_CLEAR = {0,1} (default: 1)
#   if set to 0, memory block is returned as it is. Will be set, if the
#      'optimize' USE flag is set
#   if set to 1, every allocated memory block is cleared by zeros
#MMGT_CLEAR=1

# MMGT_CELLSIZE (default: 200)
#   defines the maximal size of blocks allocated in large pools of memory.
#MMGT_CELLSIZE=200

# MMGT_NBPAGES (default: 10000)
#   defines the size of memory chunks allocated for small blocks in pages
#      (OS dependant)
#MMGT_NBPAGES=10000

# MMGT_THRESHOLD (default: 40000)
#   defines the maximal size of blocks that are recycled internally instead
#   of being returned to the heap.
#MMGT_THRESHOLD=40000

# MMGT_MMAP = {0,1} (default: 1)
#   if set to 0, large memory blocks will be allocated in the C heap by
#      malloc()
#   if set to 1, large memory blocks are allocated using memory mapping
#      functions of the operating system.
#MMGT_MMAP=1

# CSF_LANGUAGE (default: us) optional
#   defines the default language of messages indicated by a two-letter
#   country code. Currently it's not verified if this work with other
#   than the default languages, so we keep it commented.
#CSF_LANGUAGE=us

# CSF_DEBUG_BOP (default: undefined) optional
#   if defined then it should specify the directory where diagnostic data
#   on problems occured in Boolean operations will be saved. Not defined by
#   default.
#
# NOTE: Only enable for debugging purposes. If set, this variable has a
# large impact on the performance of boolean operations.
#CSF_DEBUG_BOP="/var/tmp"

# CSF_EXCEPTION_PROMPT (default: 1) optional
#   not documented upstream (maybe a flag indicating whether the user shall
#   be prompted in the case of exceptions)
#CSF_EXCEPTION_PROMPT=1

# The following CSF_* variables define various directories and files where
# OCCT is looking for resources.
CSF_GraphicShr="VAR_CASROOT/lib/opencascade/libTKOpenGl.so"
CSF_MIGRATION_TYPES="VAR_CASROOT/share/opencascade/resources/StdResource/MigrationSheet.txt"
CSF_MDTVTexturesDirectory="VAR_CASROOT/share/opencascade/resources/Textures"
CSF_PluginDefaults="VAR_CASROOT/share/opencascade/resources/StdResource"
CSF_StandardDefaults="VAR_CASROOT/share/opencascade/resources/StdResource"
CSF_StandardLiteDefaults="VAR_CASROOT/share/opencascade/resources/StdResource"
CSF_XCAFDefaults="VAR_CASROOT/share/opencascade/resources/StdResource"
CSF_XmlOcafResource="VAR_CASROOT/share/opencascade/resources/XmlOcafResource"
# The below values might be optional.
CSF_IGESDefaults="VAR_CASROOT/share/opencascade/resources/XSTEPResource"
CSF_ShadersDirectory="VAR_CASROOT/share/opencascade/resources/Shaders"
CSF_SHMessage="VAR_CASROOT/share/opencascade/resources/SHMessage"
CSF_STEPDefaults="VAR_CASROOT/share/opencascade/resources/XSTEPResource"
CSF_UnitsDefinition="VAR_CASROOT/share/opencascade/resources/UnitsAPI/Units.dat"
CSF_XSMessage="VAR_CASROOT/share/opencascade/resources/XSMessage"

# TODO: check those
# they were defined in the original ebuild but the directories and files
# are not present in the current installation.
#CSF_MDTVFontDirectory="VAR_CASROOT/src/FontMFT"
#CSF_UnitsLexicon="VAR_CASROOT/src/UnitsAPI/Lexi_Expr.dat"
