# File: <igs_export_file_name>_IGSExpModFile.txt
# Model specific Export Data Modification (EDM) file for Blender IA/IGS exporter Bigex
#
# This specific modify file is a good place to enter all 3D model / igs-file 
# specific replacement instructions.
# This may be object names like primary_numbers, Texture file specs, etc
# For global / general replacements like ShaderNames, you should use the default
# modify file: "IGS_Export_ModFile.txt"
#
# All replacement expressions found in both files will be applied to the export
# data which will be written into the igs/is file.
#
# For a additional information refer to the Bigex manual: Bigex_Manual.pdf
# 
# General notes:
#  Search ranges:
#   Search ranges are specified in square brackets. The opening bracket must be
#   the first charachter at the beginning of a new line.
#   e.g. [ObjectList:EntryName]
#   where ObjectList is the list which EntryName entries are searched through.
#   All replacement expressions after this replacement specifier until end of
#   file or until the next replacement specifier, are related to the object list
#   and entry specified.
#
#  Replacement expressions:
#    - the whole string from beginn of a line until the = will be used as
#      search string
#    - the whole string from = until end of a line = will be used as
#      replacement string
#    Only exceptions are:
#      - string with length of 0 (zero) will match everything. So be carefull.
#      - numbers or ranges in square brackets e.g. [99], [10-19], [n], [n-m] 
#        will be applied only to n-th, resp. n-th to m-th entry in the specified
#        object list. (see examples below)
#      - object name in square brackets e.g. [Material_1] 
#
#  Comments:
#    Each line starting with a # contains comments and will be ignored at 
#    execution time.
#
# Examples:
# ------------------------------------------------------------------------------
# Example 1:
# the following modify expressions apply on attribute 'MipLODBias'
# of 'RenderStage7' of materials only
# [Materials:RenderStage7_MipLODBias]
#
# Replace current MipLODBias value of material number 7 
# with 7.7, regardless what it is currently.
# [7]=7.7
# ...
#
# Replace current MipLODBias value of material with index 8  
# by the value 7.7, but only if it is 0.0 currently.
# [8]0.0=8.8
# ...
#
# Replace current MipLODBias value of materials with indexes 2 to 4  
# by the value 2.4, regardless what it is currently.
# [2-4]=2.4
# ...
#
# Replace current MipLODBias value of materials with indexes 2 to 4  
# by the value 2.40024, but only if it is 0.01 currently.
# [2-4]0.01=2.40024
# ...
#
# Replace current MipLODBias value of the material named 'Material_0'  
# by the value 99.9, regardless what it is currently.
# [Material_0]=10.7
# ...
#
# Replace current MipLODBias value of the material named 'Material_1'  
# by the value 99.9, but only if it is 11.1 currently.
# [Material_1]11.1=99.9
# ...
#
# Example 2:
#
# Replace some FaceTagDescriptions 
# [IGfFaceTagDescriptions:FaceTagDescriptionList]
# Set FaceTagDescriptions 0 until 10 to 'aaaaaaaaaaaaaaaaaaaaaaaaaaa'
# regardless what they are set to currently.
# [0-10]=aaaaaaaaaaaaaaaaaaaaaaaaaaa
# ...
#
# Set FaceTagDescriptions 250 until 255 to 'zzzzzzzzzzzzzzzzzzzzzzzz'
# regardless what they are set to currently.  
# [250-255]=zzzzzzzzzzzzzzzzzzzzzzzz
# ...
#
# Example 3:
#
# Replace some texture file names 
# [TextureNames:TextureName]
#
# Replace all texture files with name 'Textures\TetxureFile_88' by
# 'Textures\OtherTetxureFile_99'
# Textures\TetxureFile_88=Textures\OtherTetxureFile_99
# ...
#
# Set first four texture files regardless of what they are set to currently.
#[0]=OtherTextureFolder\OtherTetxureFile_00
#[1]=../../AnotherTextureFolder//OtherTetxureFile_11
#[2]=..\\..\AnotherTextureFolder//OtherTetxureFile_42
#[3]=..//..\\AnotherTextureFolder\OtherTetxureFile_88
# ...
#
# Example 4:
#
# Replace some object names
# [Objects:Name]
# Replace name of objects PrimaryNo_X with name primarynumber_X 
# PrimaryNo_0=primarynumber_0
# PrimaryNo_1=primarynumber_1
# PrimaryNo_2=primarynumber_2
# PrimaryNo_3=primarynumber_3
# PrimaryNo_4=primarynumber_4
# PrimaryNo_5=primarynumber_5
# PrimaryNo_6=primarynumber_6
# PrimaryNo_7=primarynumber_7
# PrimaryNo_8=primarynumber_8
# PrimaryNo_9=primarynumber_9
# PrimaryNo_10=primarynumber_10
# ...
# Same with using regular expression
# [IGfObjects:Name]
# PrimaryNo_([0-9]+)=primarynumber_\1
# ...
#
# Replace name of object 1_1000_red.001 with name 1_1000_red
# 1_1000_red.001=1_1000_red
# ...
#
# Replace name of objects xxx.002 with name 1_1000_red
# .*\.002=1_1000_red
# ...
#
# Replace name of objects xxx.002 with name xxx
# (.*)\.002=\1
# ...
#
# Replace name of objects xxx.000 until .009 with name xxx
# (.*)\.00[0-9]=\1
# same
# (.*)\.\d{3}=\1
# ...
#
# Example 5:
#
# Merge some mesh objects
#
# Merge action header
# [IGfObjects::Merge]

# Merge the mesh objects '1_1000_GroundPlane0' and '1_1000_GroundPlane4'
# into a new mesh object named '1_2000_GroundPlanes'
# Note: the comma separated list of mesh objects to be merged supports
#       regular expressions.
# 1_1000_GroundPlanes=1_1000_GroundPlane0,1_1000_GroundPlane4
# ...
#
# Merge the mesh objects '1_1000_GroundPlane1', '1_1000_GroundPlane2'
# and '1_1000_GroundPlane2' into a new mesh object named '1_3000_GroundPlanes'
# 1_3000_GroundPlanes=1_1000_GroundPlane1,1_1000_GroundPlane2,1_1000_GroundPlane3
# ...
#
# Append obj 4 to obj 2
# 1_1000_MergeObj2=1_1000_MergeObj2,1_1000_MergeObj4
# ...
#
# Append obj 5 to obj 3
#1_1000_MergeObj3=1_1000_MergeObj3,1_1000_MergeObj5
# ...
#
# If obj 3 exists then append obj 5 to obj 3, otherwise create obj 3
# from obj 5 and remove obj 5 afterwards 
# 1_1000_MergeObj3=1_1000_MergeObj5
# ...
#
# If obj 3 exists then append obj 1 and 5 to obj 3, otherwise create obj 3
# by merging obj 1 and 5 
# 1_1000_MergeObj3=1_1000_MergeObj1,1_1000_MergeObj5
# ...
#
# Merge all 5 obj of the list into the new obj '1_5000_MergedObjs'
# 1_5000_MergedObjs=1_1000_MergeObj5,1_1000_MergeObj4,1_1000_MergeObj3,1_1000_MergeObj2,1_1000_MergeObj1
# ...
#
# exactly the same with using regular expression
#1_5000_MergedObjs=1_1000_MergeObj[1-5]
#1_5000_MergedObjs=1_1000_MergeObj[4321]
