
# This code creates the user interface for the mesh editor.
#
# Copyright (c) 1997 Pacific Marketing and Consulting, Inc,
#       and ICEM Systems, GmbH.  All rights reserved.
# Author:  Wayne A. Christopher, wayne@icemcfd.com
#

# The first string is the full command name.  The second is what shows up in
# the menus.

command_define "Open project" "Open project" open_icon \
    "file_openproject" {
	Open a new project and load a tetin
	file and a mesh.
    } med/med-Open always

command_define "Save project" "Save project" save_icon \
    "file_saveproject 0" {
    } no_help always

command_define "Save project as" "Save project as" no_icon \
    "file_saveproject 1" {
    } no_help always

command_define "Close project" "Close project" no_icon \
    "file_closeproject" {
    } no_help always

command_define "Quit" "Quit" no_icon \
    "file_quit" {
    } no_help always

command_define "Print screen" "Print" ansys_stillimage32x32 \
    "file_hardcopy_med" {
    } no_help ""

# -----------------------------------------------

    
command_define "Copy project" "Copy project" no_icon \
    "file_copyproject" {
    } no_help always

command_define "Rename project" "Rename project" no_icon \
    "file_renameproject" {
    } no_help always

command_define "Delete project" "Delete project" no_icon \
    "file_deleteproject" {
    } no_help always

command_define "Archive project" "Archive project" no_icon \
    "file_archive" {
    } no_help always

command_define "Un-archive project" "Un-archive project" no_icon \
    "file_unarchive" {
    } no_help always

# -----------------------------------------------

    
command_define "Load tetin file" "Open tetin file" no_icon \
    "file_loadtetin {} 1 " {
    } no_help always

command_define "Merge tetin file" "Merge" no_icon \
    "file_mergemesh" {
    } no_help always

command_define "Save tetin file" "Save tetin file" no_icon \
    "file_savetetin 0" {
    } no_help always

command_define "Save tetin file as" "Save tetin file as" no_icon \
    "file_savetetin 1" {
    } no_help always

command_define "Unload tetin file" "Close tetin file" no_icon \
    "file_unload tetin" {
    } no_help always

command_define "Delete tetin file" "Delete tetin file" no_icon \
    "file_deletetetin" {
    } no_help always

command_define "Create empty tetin file" "New tetin file" no_icon \
    "file_emptytetin" {
    } no_help always


# --------------------------------------------------

    
command_define "Load domain file" "Open domain file" no_icon \
    "file_loadmesh {} 0" {
    } no_help always

command_define "Save domain file" "Save domain file" no_icon \
    "file_savemesh 0" {
    } no_help always

command_define "Save domain file as" "Save domain file as" no_icon \
    "file_savemesh 1" {
    } no_help always

command_define "Unload domain file" "Close domain file" no_icon \
    "ic_unload_mesh" {
    } no_help always

command_define "Delete domain file" "Delete domain file" no_icon \
    "file_deletemesh" {
    } no_help always

command_define "Convert structured to unstructured" "Struct->Unstruct" no_icon \
    "output_s2u" {
    } no_help always

command_define "Convert structured to single block" "Struct->Super" no_icon \
    "output_super" {
    } no_help always

# --------------------------------

command_define "Load family_boco file" "Open boco file" no_icon \
    "file_loadfamboco {} " {
    } no_help always
#there should be an option data_available(bc)
   
command_define "Save family_boco file" "Save boco file" no_icon \
    "file_savefamboco 0" {
    } no_help always

command_define "Save family_boco file as" "Save boco file as" no_icon \
    "file_savefamboco 1" {
    } no_help always


command_define "Unload family_boco file" "Close boco file" no_icon \
    "file_unload family_boco" {
    } no_help always



# ----------------------------------------------

command_define "Import domain file as geometry" "Domain file" no_icon \
    "geo_import domain; med_home" {
    } no_help always

command_define "Import Plot3d as geometry" "Plot3d" no_icon \
    "geo_import plot3d; med_home" {
    } no_help always

command_define "Import Patran as geometry" "Patran" no_icon \
    "geo_import patran; med_home" {
    } no_help always

command_define "Import STL as geometry" "STL" no_icon \
    "geo_import stl; med_home" {
    } no_help always

command_define "Import TecPlot as geometry" "Techplot" no_icon \
    "geo_import tecplot; med_home" {
    } no_help always

command_define "Import Nastran as geometry" "Nastran" no_icon \
    "geo_import nastran; med_home" {
    } no_help always

command_define "Import Fluent as geometry" "Fluent" no_icon \
    "geo_import rampant; med_home" {
    } no_help always

command_define "Import VRML as geometry" "VRML" no_icon \
    "geo_import vrml; med_home" {
    } no_help always

command_define "Import CATIA4 as geometry" "CATIA4" no_icon \
    "trans_catia_tetin" {
    } no_help always

command_define "Import IGES" "IGES" no_icon \
    "trans_iges_tetin" {
    } no_help always

command_define "Import DDN" "DDN" no_icon \
    "trans_ddn_tetin" {
    } no_help always

command_define "Import UG" "UG" no_icon \
    "trans_ug_tetin" {
    } no_help always

command_define "Import STEP" "STEP" no_icon \
    "trans_step_tetin" {
    } no_help always

command_define "Import GEMS File" "GEMS" no_icon \
    "trans_gems_tetin" {
    } no_help always

command_define "Convert IGES to DDN" "IGES->DDN" no_icon \
    "ddn_trans_iges_imp" {
    } no_help always

command_define "Convert TVDA to DDN" "TVDA->DDN" no_icon \
    "trans_tvda_ddn" {
    } no_help always

command_define "Convert DXF to DDN" "DXF->DDN" no_icon \
    "trans_dxf_ddn" {
    } no_help always

command_define "Convert PreBFC to DDN" "PreBFC->DDN" no_icon \
    "trans_prebfc_ddn" {
    } no_help always

command_define "Convert Tetin to IGES" "Tetin->IGES" no_icon \
    "trans_tetin_iges" {
    } no_help always

command_define "Convert Tetin to DDN" "Tetin->DDN" no_icon \
    "trans_tetin_ddn" {
    } no_help always

command_define "Convert Tetin to BrepXML" "Tetin->BrepXML" no_icon \
    "trans_tetin_brepxml" {
    } no_help always

command_define "Convert DDN to IGES" "DDN->IGES" no_icon \
    "ddn_trans_iges_exp" {
    } no_help always

command_define "Convert DDN to TVDA" "DDN->TVDA" no_icon \
    "trans_ddn_tvda" {
    } no_help always

command_define "Convert DDN to DXF" "DDN->DXF" no_icon \
    "trans_ddn_dxf" {
    } no_help always

# --------------------------------------------------------------------

command_define "Edit options" "Edit options" no_icon \
    "file_options" {
    } no_help always

command_define "Edit pathnames" "Edit pathnames" no_icon \
    "file_edit_paths" {
    } no_help always

command_define "Change ICEM_ACN" "Change ICEM_ACN" no_icon \
    "file_change_icem_acn" {
    } no_help always

command_define "Coord systems" "Coord systems" coord_sys_icon \
    "coordinate_systems" {
    } no_help always

command_define "Edit directories" "Edit directories" no_icon \
    "file_edit_dirs" {
    } no_help always

# ---------------------------------------------------

command_define "Change directory" "Change directory" no_icon \
    "file_chdir" {
    } no_help always

command_define "Convert directory style" "Convert directory style" no_icon \
    "file_convert_directory_structure" {
    } no_help always

command_define "Convert CGM to Postscript" "CGM->Postscript" no_icon \
    "file_gplot" {
    } no_help always

# ---------------------------------------------------

command_define "Start license server" "Start server" no_icon \
    "license_start" {
    } no_help always

command_define "Reconnect to license server" "Reconnect" no_icon \
    "license_acquire" {
    } no_help always

command_define "Check license usage" "Check usage" no_icon \
    "license_check" {
    } no_help always

# ---------------------------------------------------

command_define "Check system info" "Check system info" no_icon \
    "check_sysinfo" {
    } no_help always

command_define "Clear file locks" "Clear file locks" no_icon \
    "file_clear_lock" {
    } no_help always

command_define "Shell window in current dir" "Current dir" no_icon \
    "file_shell ." {
    } no_help always

command_define "Shell window in transfer dir" "Transfer dir" no_icon \
    "file_shell transfer" {
    } no_help always

command_define "Shell window in mesh dir" "Mesh dir" no_icon \
    "file_shell mesh" {
    } no_help always

command_define "Play game" "Play game" no_icon \
    "game" {
    } no_help always

command_define "Run script" "Run script" no_icon \
    "script_run" {
    } no_help always

command_define "Replay mode" "Replay mode" no_icon \
    "file_replay" {
    } no_help always

command_define "View programmer's guide" "Programmer's guide" no_icon \
    "file_pguide" {
    } no_help always

# --------------------------------------------

command_define "Import Plot3d as mesh" "Plot3d" no_icon \
    "mesh_import plot3d; med_home" {
    } no_help always

command_define "Import STL as mesh" "STL" no_icon \
    "mesh_import stl; med_home" {
    } no_help always

command_define "Import TecPlot as mesh" "Techplot" no_icon \
    "mesh_import tecplot; med_home" {
    } no_help always

command_define "Import SAUNA as mesh" "SAUNA" no_icon \
    "mesh_import sauna; med_home" {
    } no_help always

command_define "Import by a specfied reader" "Specify reader" no_icon \
    "backend_readers; med_home" {
    } no_help always

command_define "Import Ansys as mesh" "Ansys" no_icon \
    "mesh_import ansys; med_home" {
    } no_help always

command_define "Import LS-Dyna as mesh" "LS-Dyna" no_icon \
    "mesh_import lsdyna; med_home" {
    } no_help always

command_define "Import CGNS as mesh" "CGNS" no_icon \
    "mesh_import cgns; med_home" {
    } no_help always

command_define "Import Patran as mesh" "Patran" no_icon \
    "mesh_import patran; med_home" {
    } no_help always

command_define "Import Nastran as mesh" "Nastran" no_icon \
    "mesh_import nastran; med_home" {
    } no_help always

command_define "Import Fluent as mesh" "Fluent" no_icon \
    "mesh_import rampant; med_home" {
    } no_help always

command_define "Import Starcd as mesh" "Starcd" no_icon \
    "mesh_import starcd; med_home" {
    } no_help always

command_define "Move DDN part to other dir" "Move DDN part to other dir" no_icon \
    "ddn_copymove_part 0" { 
    } no_help always

command_define "Copy DDN part to other dir" "Copy DDN part to other dir" no_icon \
    "ddn_copymove_part 1" {
    } no_help always

command_define "Delete DDN part" "Delete DDN part" no_icon \
    "ddn_delete_part" {
    } no_help always

command_define "Copy DDN part" "Copy DDN part" no_icon \
    "ddn_copy_part" {
    } no_help always

command_define "Rename DDN part" "Rename DDN part" no_icon \
    "ddn_rename_part" {
    } no_help always

command_define "Manage coord. systems" "Manage coord. systems" no_icon \
    "coordinate_systems" {
    } no_help always

# -----------------------------------------------

command_define "Undo operation" "Undo" undo_icon \
    "ic_undo" {
    } no_help button_status(undo)

command_define "Redo operation" "Redo" redo_icon \
    "ic_redo" {
    } no_help button_status(redo)

# -----------------------------------------------

command_define "Boundary conds" "Boundary conds" bc_icon \
    "geo_famboco_edit" {
    } no_help always

command_define "Annotations" "Annotations" no_icon \
    "file_annotations" {
    } no_help always

command_define "Change geometry family" "Change family" surf_families_icon \
    "geo_family entity" {
    } no_help data_available(geom)

command_define "Change surface family" "Surfaces" no_icon \
    "geo_family surface" {
    } no_help data_available(geom)

command_define "Change curve family" "Curves" no_icon \
    "geo_family curve" {
    } no_help data_available(geom)

command_define "Change point family" "Points" no_icon \
    "geo_family point" {
    } no_help data_available(geom)

command_define "Change material family" "Materials" no_icon \
    "geo_family material" {
    } no_help data_available(geom)

command_define "Change loop family" "Loops" no_icon \
    "geo_family loop" {
    } no_help data_available(geom)

command_define "Change density family" "Densities" no_icon \
    "geo_family density" {
    } no_help data_available(geom)

# -----------------------------------------------

command_define "Repair mesh" "Repair" no_icon \
    "edit_repair" {
    } no_help data_available(unstruct)


command_define "Uncouple" "Uncouple" no_icon \
    "unstruct_uncouple" {
    } no_help data_available(unstruct)


command_define "Bandwidth" "Bandwidth" no_icon \
    "unstruct_bandwidth" {
    } no_help data_available(unstruct)

# ---------------------------------------------------------------------

command_define "DDN" "DDN" no_icon \
    "ddn_run ddn" {
    } no_help always

command_define "Comak" "Comak" no_icon \
    "ddn_run comak" {
    } no_help always

command_define "Input" "Input" no_icon \
    "ddn_run input" {
    } no_help always

command_define "Frontal (in DDN)" "Frontal" no_icon \
    "ddn_run frontal" {
    } no_help always

command_define "Create topology" "Create topology" build_topology_icon \
    "geo_build_topo" {
    } no_help data_available(geom)

command_define "Fix gaps (CAD)" "Fix gaps" surf_repair_icon \
    "geo_fix_gaps" {
    } no_help data_available(geom)

command_define "Fix gaps (faceted)" "Fix gaps" surf_repair_icon \
    "geo_fix_gaps" {
    } no_help data_available(geom)

command_define "Remove feature (CAD)" "Remove feature" no_icon \
    "geo_remove_feature" {
    } no_help data_available(geom)

command_define "Delete duplicate facets" "Delete duplicate facets" duplicate_curve \
    "ic_geo_fixup" {
    } no_help data_available(geom)

command_define "Delete unattached geometry" "Delete unattached" unattach_curve \
    "geo_delete_unattached" {
    } no_help data_available(geom)

command_define "Frontal area" "Frontal area" no_icon \
    "geo_frontal" {
    } no_help data_available(geom)

command_define "Frontal area" "Surface area" no_icon \
    "geo_surface_area" {
    } no_help data_available(geom)

command_define "Transfer facets -> mesh" "Transfer facets -> mesh" convert_facets_mesh_icon \
    "geo_export 1" {
    } no_help data_available(geom)

command_define "Transfer mesh -> facets" "Transfer mesh -> facets" convert_mesh_facets_icon \
    "geo_import current" {
    } no_help data_available(unstruct)

# -------------------------------------------------

command_define "Init Cartesian (minimal)" "Init (minimal)" no_icon \
    "cartfile_initialize" {
    } no_help data_available(geom)

command_define "Init  Cartesian(keypoints)" "Init (keypoints)" no_icon \
    "cartfile_reset" {
    } no_help data_available(geom)

command_define "Load cart file" "Load cart file" no_icon \
    "cartfile_load" {
    } no_help data_available(geom)

command_define "Save cart file" "Save cart file" no_icon \
    "cartfile_save" {
    } no_help data_available(geom)

command_define "Merge cart file" "Merge cart file" no_icon \
    "cartfile_merge" {
    } no_help data_available(geom)

command_define "Display Cartesian stations" "Display" no_icon \
    "checkbutton cartfile_visible cartfile_display" {
    } no_help data_available(geom)

command_define "Add Cartesian stations" "Add stations" no_icon \
    "cartfile_add_stations" {
    } no_help data_available(geom)

command_define "Delete Cartesian stations" "Delete stations" no_icon \
    "cartfile_del_stations" {
    } no_help data_available(geom)

command_define "Edit Cartesian stations" "Edit stations" no_icon \
    "cartfile_edit_stations" {
    } no_help data_available(geom)

command_define "Edit Cartesian ranges" "Edit ranges" no_icon \
    "cartfile_edit_ranges" {
    } no_help data_available(geom)

command_define "Edit Cartesian cyl params" "Edit cyl params" no_icon \
    "cartfile_edit_cylparams" {
    } no_help data_available(geom)

command_define "Cartesian mesh" "Cartesian" no_icon \
    "radiobutton cartfile_grid_type cartesian cartfile_update_type" {
    } no_help data_available(geom)

command_define "Cylindrical mesh" "Cylindrical" no_icon \
    "radiobutton cartfile_grid_type cylindrical cartfile_update_type" {
    } no_help data_available(geom)

# -------------------------------------------------

command_define "Geometry mode: surface" "Surface" geo_surface \
    "radiobutton geometry_mode surface geometry_mode_update" {
    } no_help always

command_define "Geometry mode: curve" "Curve" geo_curve \
    "radiobutton geometry_mode curve geometry_mode_update" {
    } no_help always

command_define "Geometry mode: point" "Point" geo_point \
    "radiobutton geometry_mode point geometry_mode_update" {
    } no_help always

command_define "Geometry mode: material" "Material" geo_material \
    "radiobutton geometry_mode material geometry_mode_update" {
    } no_help always

command_define "Geometry mode: loop" "Loop" geo_loop \
    "radiobutton geometry_mode loop geometry_mode_update" {
    } no_help always

command_define "Geometry mode: density" "Density" geo_density \
    "radiobutton geometry_mode density geometry_mode_update" {
    } no_help always

# -------------------------------------------------

command_define "From 2 curves" "From 2 curves" surf_segment_icon \
    "geo_create_surface_curves" {
    } no_help data_available(geom)

command_define "Segment surface" "Segment surface" surf_segment_icon \
    "geo_create_surface_segment" {
    } no_help data_available(geom)

command_define "Create surface from 4 points" "From 4 points" create_surface_4pts_icon \
    "geo_create_surface_points" {
    } no_help data_available(geom)

command_define "Create surface from 8 points (box)" "From 8 points (box)"  create_surface_8pts_icon \
    "geo_create_surface_points_box" {
    } no_help data_available(geom)

command_define "Create surface from convex hull" "Convex hull" convex_hull_icon \
    "geo_convex_hull" {
    } no_help data_available(geom)

command_define "Create midsurface" "Midsurface" midsurface_icon \
    "geo_create_surface_mid" {
    } no_help data_available(geom)


command_define "Segment curve" "Segment curve" curve_segment_icon \
    "geo_create_curve_segment" {
    } no_help data_available(geom)

command_define "Extract curve from surface" "Extract from surface" extract_crv_from_surf_icon \
    "geo_create_curve_extract" {
    } no_help data_available(geom)

command_define "Intersect surfaces" "Intersect surfaces" intersect_curve_icon \
    "geo_create_curve_intersect" {
    } no_help data_available(geom)

command_define "Create curve from points" "From points" curve_from_pts_icon \
    "geo_create_curve_points" {
    } no_help data_available(geom)

command_define "Extract points from curve" "Extract from curve" p_extract_curve \
    "geo_create_point_extract" {
    } no_help data_available(geom)

command_define "Create points via screen select" "Screen select" p_screen_select \
    "geo_create_point_screen" {
    } no_help data_available(geom)

command_define "Create points via screen midpoint" "Screen midpoint" p_midpoint \
    "geo_create_point_midpoint" {
    } no_help data_available(geom)

command_define "Create points via explicit location" "Explicit location" p_explicit \
    "geo_create_point_explicit" {
    } no_help data_available(geom)

command_define "Create points via curve intersections" "Curve intersection " p_intersect_curves \
    "geo_create_point_curveinter" {
    } no_help data_available(geom)

command_define "Create material via screen select" "Screen select" m_screen_select \
    "geo_create_material_screen" {
    } no_help data_available(geom)

command_define "Create material via screen midpoint" "Screen midpoint" m_midpoint \
    "geo_create_material_midpoint" {
    } no_help data_available(geom)

command_define "Create material via explicit location" "Explicit location" m_explicit \
    "geo_create_material_explicit" {
    } no_help data_available(geom)

command_define "Create density via screen select" "Screen select" density \
    "geo_create_density_screen" {
    } no_help data_available(geom)

command_define "Create loop via screen select" "Screen select" l_screen_select \
    "geo_create_loop_screen" {
    } no_help data_available(geom)

command_define "Create loop from surfaces" "From surfaces" l_surf \
    "geo_create_loop_surfaces" {
    } no_help data_available(geom)

command_define "Create loop from each surface" "From each surface" l_each_surf \
    "geo_create_loop_surface" {
    } no_help data_available(geom)

# -----------------------------------------------------

command_define "Delete selected objects" "Selected" trash2_icon \
    "geo_delete geometry_mode" {
    } no_help data_available(geom)

command_define "Delete selected geometry" "Delete selected" trash2_icon \
    "geo_delete entity" {
    } no_help data_available(geom)

command_define "Delete last created objects" "Last created" no_icon \
    "geo_delete_last geometry_mode" {
    } no_help data_available(geom)

command_define "Delete all visible objects" "All visible" no_icon \
    "geo_delete_all visible geometry_mode" {
    } no_help data_available(geom)

command_define "Delete all blanked objects" "All blanked" no_icon \
    "geo_delete_all blanked geometry_mode" {
    } no_help data_available(geom)

# --------------------------------------------------------------

command_define "Untrim surface" "Untrim" surf_untrim_icon \
    "geo_modify_surface_untrim" {
    } no_help data_available(geom)

command_define "Rename surface" "Rename" rename_icon \
    "geo_modify_object_rename surface" {
    } no_help data_available(geom)

command_define "Convert surface to facets" "Convert to facets" convert_to_facetted_icon \
    "geo_modify_object_facetize surface" {
    } no_help data_available(geom)

command_define "Merge surfaces" "Merge surfaces" surf_merge_icon \
    "geo_modify_merge surface" {
    } no_help data_available(geom)

command_define "Create surface triangles" "Create triangles" create_tri_icon \
    "geo_modify_object_add surface 3 triangle" {
    } no_help data_available(geom)

command_define "Delete surface triangles" "Delete triangles" delete_tri_icon \
    "geo_modify_object_delete surface triangle" {
    } no_help data_available(geom)

command_define "Restrict surface triangles" "Restrict triangles" restrict_tri_icon \
    "geo_modify_object_restrict surface triangle" {
    } no_help data_available(geom)

command_define "Move surface triangles to existing surface" "Move to existing surf" move_to_existing_icon \
    "geo_modify_moveseg surface triangle 0" {
    } no_help data_available(geom)

command_define "Move surface triangles to new surface" "Move to new surf" move_to_new_icon \
    "geo_modify_moveseg surface triangle 1" {
    } no_help data_available(geom)

command_define "Move surface nodes to location" "To location" move_surf_vertex_onlocation \
    "geo_modify_movenode surface loc" {
    } no_help data_available(geom)

command_define "Move surface nodes on screen" "On screen" move_surf_vertex_onscreen \
    "geo_modify_movenode surface none" {
    } no_help data_available(geom)

command_define "Move surface nodes on plane" "On plane" move_surf_vertex_onplane \
    "geo_modify_movenode surface plane" {
    } no_help data_available(geom)

command_define "Move surface nodes on line" "On line" move_surf_vertex_online \
    "geo_modify_movenode surface line" {
    } no_help data_available(geom)

command_define "Move surface nodes in direction" "In direction" move_surf_vertex_indirection \
    "geo_modify_movenode surface dir" {
    } no_help data_available(geom)

command_define "Merge surface nodes interactive" "Interactive" merge_s_node_icon \
    "geo_modify_mergenode surface" {
    } no_help data_available(geom)

command_define "Merge surface nodes by tolerance" "Tolerance" merge_s_node_tol_icon \
    "geo_modify_mergenode_tol surface" {
    } no_help data_available(geom)

command_define "Split edges" "Split edges" split_edge_icon \
    "geo_modify_splitedge surface" {
    } no_help data_available(geom)

command_define "Swap edges" "Swap edges" swap_edge_icon \
    "geo_modify_swapedge surface" {
    } no_help data_available(geom)

command_define "Split surface triangles" "Split triangles" split_tri_icon \
    "geo_modify_splitseg surface triangle 3" {
    } no_help data_available(geom)

command_define "Coarsen surface" "Coarsen" surf_coarsen \
    "geo_coarsen_surface" {
    } no_help data_available(geom)

command_define "Merge curves" "Merge" no_icon \
    "geo_modify_curve_merge" {
    } no_help data_available(geom)

command_define "Create curve segments" "Create segments" no_icon \
    "geo_modify_object_add curve 2 segment" {
    } no_help data_available(geom)

command_define "Delete curve segments" "Delete segments" no_icon \
    "geo_modify_object_delete curve segment" {
    } no_help data_available(geom)

command_define "Restrict curve segments" "Restrict segments" no_icon \
    "geo_modify_object_restrict curve segment" {
    } no_help data_available(geom)

command_define "Move curve segments to existing" "To existing" no_icon \
    "geo_modify_moveseg curve segment 0" {
    } no_help data_available(geom)

command_define "Move curve segments to new" "To new" no_icon \
    "geo_modify_moveseg curve segment 1" {
    } no_help data_available(geom)

command_define "Move curve nodes to location" "To location" no_icon \
    "geo_modify_movenode curve loc" {
    } no_help data_available(geom)

command_define "Move curve nodes on screen" "On screen" no_icon \
    "geo_modify_movenode curve none" {
    } no_help data_available(geom)

command_define "Move curve nodes on surfaces" "On surfaces" no_icon \
    "geo_modify_movenode curve surface" {
    } no_help data_available(geom)

command_define "Move curve nodes on plane" "On plane" no_icon \
    "geo_modify_movenode curve plane" {
    } no_help data_available(geom)

command_define "Move curve nodes on line" "On line" no_icon \
    "geo_modify_movenode curve line" {
    } no_help data_available(geom)

command_define "Move curve nodes in direction" "In direction" no_icon \
    "geo_modify_movenode curve dir" {
    } no_help data_available(geom)

command_define "Project curve nodes to surfaces" "Project to surfaces" no_icon \
    "geo_project_curve_surface" {
    } no_help data_available(geom)

command_define "Project to surface" "Project to surface" no_icon \
    "geo_create_curve_proj_to_surface" {
    } no_help data_available(geom)

command_define "Merge curve nodes" "Merge nodes" no_icon \
    "geo_modify_mergenode curve" {
    } no_help data_available(geom)

command_define "Split curve segments" "Split segments" no_icon \
    "geo_modify_splitseg curve segment 2" {
    } no_help data_available(geom)

command_define "Rename curve" "Rename" no_icon \
    "geo_modify_object_rename curve" {
    } no_help data_available(geom)

command_define "Convert curve to facets" "Convert to facets" no_icon \
    "geo_modify_object_facetize curve" {
    } no_help data_available(geom)

command_define "Reapproximate curve" "Reapproximate" no_icon \
    "geo_modify_curve_reappr" {
    } no_help data_available(geom)

command_define "Merge points" "Merge" no_icon \
    "geo_modify_point_merge" {
    } no_help data_available(geom)

command_define "New point position" "New position" no_icon \
    "geo_modify_point_newpos" {
    } no_help data_available(geom)

command_define "Screen move point" "Screen move" no_icon \
    "geo_modify_point_screen" {
    } no_help data_available(geom)

command_define "Rename point" "Rename" no_icon \
    "geo_modify_object_rename point" {
    } no_help data_available(geom)

command_define "New material position" "New position" no_icon \
    "geo_modify_material_newpos" {
    } no_help data_available(geom)

command_define "Screen move material" "Screen move" no_icon \
    "geo_modify_material_screen" {
    } no_help data_available(geom)

command_define "Rename material" "Rename" no_icon \
    "geo_modify_object_rename material" {
    } no_help data_available(geom)

command_define "Move density corner" "Move corner" no_icon \
    "geo_modify_movenode density node" {
    } no_help data_available(geom)

command_define "Rename density" "Rename" no_icon \
    "geo_modify_object_rename density" {
    } no_help data_available(geom)

# -----------------------------------------------------------------------

command_define "Model mesh params" "Model" mesh_sizes_icon_model \
    "geo_params_edit_model" {
    } no_help data_available(geom)

command_define "Family mesh params" "Families" mesh_sizes_icon_family \
    "geo_params_edit family" {
    } no_help data_available(geom)

command_define "All family mesh params" "Families" mesh_sizes_icon_family \
    "geo_params_edit_allfamilies" {
    } no_help data_available(geom)

command_define "Curves mesh params" "Curves" mesh_sizes_icon_curves \
    "geo_params_edit curve" {
    } no_help data_available(geom)

command_define "Surfaces mesh params" "Surfaces" mesh_sizes_icon_surfaces \
    "geo_params_edit surface" {
    } no_help data_available(geom)

command_define "Entity mesh params" "Entities" mesh_sizes_icon_entities \
    "geo_params_edit entity" {
    } no_help data_available(geom)

command_define "Surface mesh params" "Surfaces" no_icon \
    "geo_params_edit surface" {
    } no_help data_available(geom)

command_define "Curve mesh params" "Curves" no_icon \
    "geo_params_edit surface" {
    } no_help data_available(geom)

command_define "Point mesh params" "Points" no_icon \
    "geo_params_edit surface" {
    } no_help data_available(geom)

command_define "Material mesh params" "Materials" no_icon \
    "geo_params_edit surface" {
    } no_help data_available(geom)

command_define "Loop mesh params" "Loops" no_icon \
    "geo_params_edit surface" {
    } no_help data_available(geom)

command_define "Density mesh params" "Densities" no_icon \
    "geo_params_edit surface" {
    } no_help data_available(geom)

command_define "Copy/move whole model" "Whole model" move_icon \
    "geo_copymove all" {
    } no_help data_available(geom)

command_define "Copy/move families" "Selected families" no_icon \
    "geo_copymove family" {
    } no_help data_available(geom)

command_define "Copy/move selected entities" "Selected entities" move_icon \
    "geo_copymove entity" {
    } no_help data_available(geom)

# -----------------------------------------------------------------------

command_define "Hexa interactive" "Create Hex mesh" create_hex_mesh_icon \
    "mesher_hexa" {
    } no_help data_available(geom)

command_define "Hexa batch" "Batch" no_icon \
    "mesher_hexa_batch" {
    } no_help data_available(geom)

command_define "Convert Mulcad to Hexa" "Mulcad->Hexa" no_icon \
    "mesher_mulcad_convert" {
    } no_help data_available(geom)

command_define "Tetra batch from CAD" "Batch from CAD" create_tet_mesh_icon \
    "mesher_tetra" {
    } no_help data_available(geom)

command_define "Tetra interactive from CAD" "Create Tetra Mesh" create_tet_mesh_icon \
    "mesher_tetra_full" {
    } no_help data_available(geom)

command_define "Tetra from surface mesh" "From surface mesh" no_icon \
    "mesher_tetra_mesh" {
    } no_help data_available(geom)

command_define "Global" "Global" no_icon \
    "mesher_global" {
    } no_help data_available(geom)

command_define "Prism" "Prism" no_icon \
    "mesher_prism" {
    } no_help data_available(geom)

command_define "Quad" "Create Paved Mesh (Quad)" quad_mesh_icon \
    "mesher_quad" {
    } no_help data_available(geom)

command_define "AutoHexa" "AutoHexa" no_icon \
    "mesher_autohexa" {
    } no_help data_available(geom)

command_define "Run Mulcad" "Run Mulcad" no_icon \
    "ddn_run_mulcad" {
    } no_help data_available(geom)

command_define "Clean up Mulcad scratch files" "Clean up" no_icon \
    "mulcad_cleanup" {
    } no_help data_available(geom)

command_define "P-Cube" "P-Cube" no_icon \
    "pcube_run" {
    } no_help data_available(geom)

command_define "Delete P-Cube undo files" "Delete P-Cube Undo Files" no_icon \
    "pcube_delete_undos" {
    } no_help data_available(geom)

command_define "Set P-Cube tolerance" "Set P-Cube Tolerance" no_icon \
    "pcube_set_user_tol" {
    } no_help data_available(geom)

command_define "Cart3D" "Cart3D" no_icon \
    "mesher_cart3d" {
    } no_help data_available(geom)
# -----------------------------------------------------------------------

command_define "Select solver" "Select solver" no_icon \
    "solution_select" {
    } no_help always

command_define "Solver params" "Solver params" no_icon \
    "famboco_edit_params" {
    } no_help always

command_define "Solver input" "Solver input" no_icon \
    "solution_input" {
    } no_help always

command_define "Start solver" "Start solver" no_icon \
    "solution_start" {
    } no_help data_available(can_run_solver)

command_define "Visual3" "Visual3" no_icon \
    "solution_visual3" {
    } no_help always

command_define "OptiMesh" "OptiMesh" no_icon \
    "solution_mom3d" {
    } no_help always

command_define "RAMM-ICE" "RAMM-ICE" no_icon \
    "rmi_mainProc" {
    } no_help enable_feature(ramm-ice)

command_define "Moving Mesh" "Moving Mesh" no_icon \
    "solution_movemesh" {
    } no_help always

command_define "Y+" "Y+" no_icon \
    "solution_yplus" {
    } no_help always

# -----------------------------------------------------------------------

command_define "Copy/move mesh" "Copy/move" move_mesh_icon \
    "edit_copymove" {
    } no_help {data_available(mesh)}
    
command_define "Smooth elements" "Smooth" smooth_grid \
    "edit_smooth" {
    } no_help {data_available(mesh)}
    
command_define "Refine elements" "Refine" refine_grid_icon \
    "edit_refine" {
    } no_help {data_available(unstruct)}
    
command_define "Coarsen elements" "Coarsen" coarsen_grid_icon \
    "edit_coarsen" {
    } no_help {data_available(unstruct)}
    
command_define "Merge unstructured meshes" "Merge" merge_mesh_icon \
    "edit_merge" {
    } no_help {data_available(unstruct)}
    
command_define "Extrude elements" "Extrude" no_icon \
    "edit_extrude" {
    } no_help {data_available(unstruct)}

command_define "Uncouple elements" "Uncouple" no_icon \
    "unstruct_uncouple" {
    } no_help {data_available(unstruct)}
    
command_define "Optimize bandwidth" "Bandwidth" no_icon \
    "unstruct_bandwidth" {
    } no_help {data_available(unstruct)}
    
command_define "Repair unstructured mesh" "Repair" mesh_repair \
    "edit_repair" {
    } no_help {data_available(unstruct)}

# -----------------------------------------------------------

command_define "Structured quality metrics" "Quality metrics" mesh_quality \
    "struct_diag" {
    } no_help data_available(struct)

command_define "Domain orientation" "Domain orientation" no_icon \
    "struct_check_orient" {
    } no_help data_available(struct)

command_define "Structured summary info" "Summary" no_icon \
    "struct_summary" {
    } no_help data_available(struct)

command_define "Full topo info" "Full topo info" no_icon \
    "struct_dump" {
    } no_help data_available(struct)

command_define "Unstructured summary info" "Summary" no_icon \
    "unstruct_print_info summary" {
    } no_help {data_available(unstruct)}

command_define "Unstructured element info" "Element" no_icon \
    "unstruct_print_info element" {
    } no_help {data_available(unstruct)}

command_define "Unstructured node info" "Node" no_icon \
    "unstruct_print_info node" {
    } no_help {data_available(unstruct)}

command_define "Unstructured domain file info" "Domain file" no_icon \
    "unstruct_print_info domain" {
    } no_help {data_available(unstruct)}

# ---------------------------------------------------------

command_define "Diagnostic elements: All" "All" no_icon \
    "radiobutton options(diag_which) all" {
    } no_help {data_available(unstruct)}

command_define "Diagnostic elements: Active" "Active" no_icon \
    "radiobutton options(diag_which) active" {
    } no_help {data_available(unstruct)}

command_define "Diagnostic elements: Subset" "Subset" no_icon \
    "radiobutton options(diag_which) subset" {
    } no_help {data_available(unstruct)}

command_define "Unstructured quality metrics" "Quality metrics" mesh_quality \
    "unstruct_quality" {
    } no_help {data_available(unstruct)}

command_define "All unstructured errors" "All errors" no_icon \
    "unstruct_diag_mesh all" {
    } no_help {data_available(unstruct)}

command_define "Check mesh" "Check mesh" check_grid_icon \
    "unstruct_diag_form" {
    } no_help {data_available(unstruct)}

command_define "Overlapping elements" "Overlapping elements" no_icon \
    "unstruct_diag_mesh overlap" {
    } no_help {data_available(unstruct)}

command_define "Delaunay violations" "Delaunay violations" no_icon \
    "unstruct_diag_mesh delaunay" {
    } no_help {data_available(unstruct)}

command_define "Duplicate elements" "Duplicate elements" no_icon \
    "unstruct_diag_mesh duplicate" {
    } no_help {data_available(unstruct)}

command_define "Volume orientation" "Volume orientation" no_icon \
    "unstruct_diag_mesh vol_orient" {
    } no_help {data_available(unstruct)}

command_define "Surface orientation" "Surface orientation" no_icon \
    "ic_uns_check_orientation" {
    } no_help {data_available(unstruct)}

command_define "Uncovered faces" "Uncovered faces" no_icon \
    "unstruct_diag_mesh uncovered" {
    } no_help {data_available(unstruct)}

command_define "Missing internal faces" "Missing internal faces" no_icon \
    "unstruct_diag_mesh missing_internal" {
    } no_help {data_available(unstruct)}

command_define "Periodic problems" "Periodic problems" no_icon \
    "unstruct_diag_mesh periodic_problem" {
    } no_help {data_available(unstruct)}

command_define "Single edges" "Single edges" no_icon \
    "unstruct_diag_mesh single" {
    } no_help {data_available(unstruct)}

command_define "2 single edges" "2 single edges" no_icon \
    "unstruct_diag_mesh single_2" {
    } no_help {data_available(unstruct)}

command_define "Multiple edges" "Multiple edges" no_icon \
    "unstruct_diag_mesh multiple" {
    } no_help {data_available(unstruct)}

command_define "Single/multiple edges" "Single/multiple edges" no_icon \
    "unstruct_diag_mesh single_multiple" {
    } no_help {data_available(unstruct)}

command_define "Triangle boxes" "Triangle boxes" no_icon \
    "unstruct_diag_mesh triangle_box" {
    } no_help {data_available(unstruct)}

command_define "Non-manifold vertices" "Non-manifold vertices" no_icon \
    "unstruct_diag_mesh nmanvert" {
    } no_help {data_available(unstruct)}

command_define "Spike vertices" "Non-manifold vertices" no_icon \
    "unstruct_diag_mesh spike" {
    } no_help {data_available(unstruct)}

command_define "Stand-alone surface mesh" "Stand-alone surface mesh" no_icon \
    "unstruct_diag_mesh standalone" {
    } no_help {data_available(unstruct)}

command_define "Family boundary edges" "Family boundary edges" no_icon \
    "unstruct_diag_mesh bound_edge" {
    } no_help {data_available(unstruct)}

command_define "Check edges" "Check edges" no_icon \
    "unstruct_edges" {
    } no_help {data_available(unstruct)}

command_define "Edit/run bolt-holes" "Edit/run bolt-holes" no_icon \
    "unstruct_meshdirect_boltspiders"  {
    } no_help {data_available(unstruct)}

command_define "Edit/run connectors" "Edit/run connectors" no_icon \
    "unstruct_meshdirect_connectors"  {
    } no_help {data_available(unstruct)}

command_define "Edit/run seam-welds" "Edit/run seam-welds" no_icon \
    "unstruct_meshdirect_seamwelds"  {
    } no_help {data_available(unstruct)}
    
command_define "Edit/run spot-welds" "Edit/run spot-welds" no_icon \
    "unstruct_meshdirect_spotwelds"  {
    } no_help {data_available(unstruct)}
    
command_define "Max vertex degree" "Max vertex degree" no_icon \
    "unstruct_max_vertex_degree" {
    } no_help {data_available(unstruct)}

command_define "Disconnected vertices" "Disconnected vertices" no_icon \
    "unstruct_disconnected_verts" {
    } no_help {data_available(unstruct)}

command_define "Spanning edges" "Spanning edges" no_icon \
    "unstruct_diag_mesh 3_surface_node_internal_faces" {
    } no_help {data_available(unstruct)}

# ---------------------------------------------------------

command_define "Prisms -> Tetras" "Prisms -> Tetras" no_icon \
    "unstruct_dissolve_prisms" {
    } no_help {data_available(unstruct)}

command_define "Linear -> Quadratic" "Linear -> Quadratic" no_icon \
    "unstruct_linear_to_quadratic" {
    } no_help {data_available(unstruct)}

command_define "Quadratic -> Linear" "Quadratic -> Linear" no_icon \
    "unstruct_quadratic_to_linear" {
    } no_help {data_available(unstruct)}

command_define "1 Quad -> 2 Tri" "1 Quad -> 2 Tri" quad_tri_icon \
    "unstruct_chtype quad tri 0 1" {
    } no_help {data_available(unstruct)}

command_define "Tri -> Quad" "Tri -> Quad" tri_quad_icon \
    "unstruct_tri2quad" {
    } no_help {data_available(unstruct)}

command_define "12 Tetra -> 1 Hexa" "12 Tetra -> 1 Hexa" no_icon \
    "unstruct_convert_hexas" {
    } no_help {data_available(unstruct)}

command_define "1 Tetra -> 4 Hexa" "1 Tetra -> 4 Hexa" no_icon \
    "unstruct_chtype tetra hexa 1 1" {
    } no_help {data_available(unstruct)}

command_define "1 Prism -> 3 Tetra" "1 Prism -> 3 Tetra" no_icon \
    "unstruct_chtype prism tetra 0 1" {
    } no_help {data_available(unstruct)}

command_define "1 Pyra -> 2 Tetra" "1 Pyra -> 2 Tetra" no_icon \
    "unstruct_chtype pyra tetra 0 1" {
    } no_help {data_available(unstruct)}

command_define "All -> Tetra" "All -> Tetra" no_icon \
    "unstruct_chtype all tetra 0 0" {
    } no_help {data_available(unstruct)}

command_define "1 Prism -> 3 Hexa" "1 Prism -> 3 Hexa" no_icon \
    "unstruct_prism_to_3hexa" {
    } no_help {data_available(unstruct)}

# -------------------------------------------------------

command_define "Change domain family" "Domain" no_icon \
    "struct_setfam domain" {
    } no_help data_available(struct)

command_define "Change subface family" "Subface" no_icon \
    "struct_setfam subface" {
    } no_help data_available(struct)

command_define "Change edge family" "Edge" no_icon \
    "struct_setfam edge" {
    } no_help data_available(struct)

command_define "Change vertex family" "Vertex" no_icon \
    "struct_setfam vertex" {
    } no_help data_available(struct)

command_define "Change element family" "Element" grid_families \
    "unstruct_family_element" {
    } no_help {data_available(unstruct)}

command_define "Flood fill" "Flood fill" no_icon \
    "unstruct_flood_fill"  {
    } no_help {data_available(unstruct)}

# -------------------------------------------------------

command_define "Edit properties" "Edit properties" no_icon \
    "unstruct_edit_props" {
    } no_help {data_available(mesh)}

command_define "Make consistent" "Make consistent" no_icon \
    "unstruct_consistent" {
    } no_help {data_available(unstruct)}

# -------------------------------------------------------

command_define "Move struct node exact" "Exact" mesh_move_node_exact \
    "struct_move_node_exact" {
    } no_help data_available(struct)

command_define "Move struct node screen" "Screen" no_icon \
    "struct_move_node_screen" {
    } no_help data_available(struct)
    
command_define "Move struct nodes on geometry" "On geometry" mesh_move_node \
    "checkbutton struct_move_node(on_geom)" {
    } no_help data_available(struct)

# -------------------------------------------------------

command_define "Move unstruct node (invert)" "Invert" mesh_move_node \
    "unstruct_move_node 1" {
    } no_help {data_available(unstruct)}

command_define "Move unstruct node (no invert)" "No invert" no_icon \
    "unstruct_move_node 0" {
    } no_help {data_available(unstruct)}

command_define "Move unstruct node (exact)" "Exact" mesh_move_node_exact \
    "unstruct_move_exact" {
    } no_help {data_available(unstruct)}

command_define "Merge unstruct nodes (interactive" "Interactive" mesh_merge_node_icon \
    "unstruct_merge_node inter" {
    } no_help {data_available(unstruct)}

command_define "Merge unstruct nodes (all, tolerance)" "All (tolerance)" no_icon \
    "unstruct_merge_node all" {
    } no_help {data_available(unstruct)}

command_define "Merge unstruct nodes (selected, tolerance)" "Selected (tolerance)" mesh_merge_node_tol_icon \
    "unstruct_merge_node select_tol" {
    } no_help {data_available(unstruct)}

command_define "Merge unstruct nodes (visible, tolerance)" "Visible (tolerance)" no_icon \
    "unstruct_merge_node active_tol" {
    } no_help {data_available(unstruct)}

command_define "Delete unstruct nodes" "Delete" no_icon \
    "unstruct_delete_node" {
    } no_help {data_available(unstruct)}

# -------------------------------------------------------

command_define "Project unstruct nodes to surfaces" "Surfaces" project_node_to_surf_icon \
    "unstruct_project_node surface" {
    } no_help {data_available(unstruct)}

command_define "Project unstruct nodes to curves" "Curves" project_node_to_crv_icon \
    "unstruct_project_node curve" {
    } no_help {data_available(unstruct)}

command_define "Project unstruct nodes to points" "Point" project_node_to_point_icon \
    "unstruct_project_node point" {
    } no_help {data_available(unstruct)}

command_define "Project unstruct nodes to current type" "Current type" no_icon \
    "unstruct_project_node same" {
    } no_help {data_available(unstruct)}

command_define "Unproject unstruct nodes" "Unproject" project_node_to_nothing_icon \
    "unstruct_project_node none" {
    } no_help {data_available(unstruct)}

command_define "Project unstruct nodes automatic" "Automatic" no_icon \
    "unstruct_project_node reset" {
    } no_help {data_available(unstruct)}

command_define "Project unstruct nodes from surves to surfaces" "Curve -> surface" no_icon \
    "unstruct_project_node curve_surface" {
    } no_help {data_available(unstruct)}

# -------------------------------------------------------

command_define "Split nodes manifold" "Manifold" no_icon \
    "unstruct_split_node_man" {
    } no_help {data_available(unstruct)}

command_define "Split nodes non-manifold" "Non-manifold" no_icon \
    "unstruct_split_node_nonman" {
    } no_help {data_available(unstruct)}

# -------------------------------------------------------

command_define "Projection mode: active families" "Active families" no_icon \
    "radiobutton options(project_active) 1" {
    } no_help {data_available(unstruct)}

command_define "Projection mode: all families" "All families" no_icon \
    "radiobutton options(project_active) 0" {
    } no_help {data_available(unstruct)}

command_define "Projection mode: no projection" "No projection" no_icon \
    "radiobutton options(project_active) -1" {
    } no_help {data_available(unstruct)}


command_define "Make nodes periodic" "Make periodic" no_icon \
     "unstruct_make_periodic" {
} no_help {data_available(unstruct)}

command_define "Make nodes not periodic" "Make not periodic" no_icon \
     "unstruct_remove_periodic" {
} no_help {data_available(unstruct)}

command_define "Redistribute prism edge" "Redistribute prism edge" no_icon \
	"unstruct_redistribute_prism_edge" {
} no_help {data_available(unstruct)}

# -------------------------------------------------------

command_define "Create elements" "Create" mesh_create_element_icon \
     "unstruct_create_element" {
} no_help {data_available(unstruct)}

command_define "Delete selected elements" "Selected" mesh_delete_element_icon \
  "unstruct_delete_element" {
} no_help {data_available(unstruct)}

command_define "Delete all blanked elements" "All blanked" no_icon \
  "unstruct_delete_blanked" {
} no_help {data_available(unstruct)}
	
command_define "Change element orientation" "Orientation" no_icon \
  "unstruct_reorient_element" {
} no_help {data_available(unstruct)}

command_define "Split selected elements" "Selected" mesh_split_tri_icon \
  "unstruct_split_element" {
} no_help {data_available(unstruct)}

command_define "Split internal faces" "Internal faces" no_icon \
     "unstruct_split_internal_faces" {
} no_help {data_available(unstruct)}

command_define "Split double walls" "Double wall" no_icon \
    "unstruct_split_double_wall" {
} no_help {data_available(unstruct)}

command_define "Split prisms" "Prisms" no_icon \
    "unstruct_split_prisms" {
} no_help {data_available(unstruct)}

command_define "Create couplings" "Create" no_icon \
  "unstruct_create_coupling" {
} no_help {data_available(unstruct)}

command_define "Clear couplings" "Clear" no_icon \
   "unstruct_clear_coupling" {
} no_help {data_available(unstruct)}


command_define "Renumber elements" "Renumber" no_icon \
  "unstruct_reorder_element" {
} no_help {data_available(unstruct)}
    
command_define "Split selected edges" "Split edge" mesh_split_edge_icon \
  "unstruct_split_edge" {
} no_help {data_available(unstruct)}

command_define "Split spanning edges" "Spanning edges" no_icon \
  				"unstruct_split_spanning" {
} no_help {data_available(unstruct)}

command_define "Swap edges (simple)" "Simple" no_icon \
  "unstruct_swap_edge 0" {
} no_help {data_available(unstruct)}

command_define "Swap edges (try harder)" "Try harder" mesh_swap_edge_icon \
  "unstruct_swap_edge 1" {
} no_help {data_available(unstruct)}

command_define "Swap edges (automatic)" "Automatic" no_icon \
    "unstruct_swap_auto" {
} no_help {data_available(unstruct)}

# --------------------------------------------------

command_define "Reorient domains" "Reorient" no_icon \
    "struct_reorient" {
} no_help {data_available(struct)}

command_define "Split subfaces" "Split" no_icon \
    "struct_split_subface" {
} no_help {data_available(struct)}

command_define "Merge subfaces" "Merge" no_icon \
    "struct_merge" {
} no_help {data_available(struct)}

#----------------------------------------------------

command_define "Convert Coordinate System to CCL" "Coordinate System->CCL" no_icon \
    "trans_cos_ccl" {
    } no_help always

