# $Revision$ on $Date$
# The above revision line needs to be the first line for ttkrf files
# Copyright (c) 2006 Ansys Inc

# Mesh Edit DEZ File

#---------------------------------------------------------------------------------------------------
dataEntryDialog moveNodesDEZ "Move Nodes" 
 # textEntry moveNodesName "Name" name TEXT
 # dialogSpace 1
 #entityChooser moveNodesPick "Nodes" nodeList  NODE ANY
 # dialogSpace 1

# 0
  exclusiveGroup moveNodesGG "Move Nodes" "Method" 6 ICON
     exclusiveGroupItem moveNodesInter "Interactive (key = m, Ctrl-m)" E_MoveNode$icon_size2.gif
	exclusiveGroup moveNodesType "Move Nodes With Mouse" "Move Nodes Type" 2 DROPDOWN
	    exclusiveGroupItem moveNodesSingle "Single"
		entityChooser moveNodesDynamic "Select" nodeList NODE 1
	    exclusiveGroupItem END
	    exclusiveGroupItem moveNodesMultiple "Multiple"
		entityChooser moveNodesIntact "Select" nodeList NODE ANY
	    exclusiveGroupItem END
         exclusiveGroup END
	checkItem moveNodeRG "Allow inversion" allow_invert NULL
	dropDownEntry moveNodeWhat "Project to" projectionList proj FALSE
#	 checkItem moveNodeWP "Project to geometry" project_geom NULL
#	 checkItem moveNodeVP "Only active parts" project_active NULL
    exclusiveGroupItem END
# 1
   exclusiveGroupItem moveNodesExact "Exact" E_MoveNodeXYZ$icon_size2.gif
       frame moveNodesExactFR "Exact"
       exclusiveGroup moveNodesExactRG "Set location" "Method" 2 RADIO
	    exclusiveGroupItem moveNodesExactOff "Offset"
	    exclusiveGroupItem END
	    exclusiveGroupItem moveNodesExactPos "Position"
		entityChooser moveNodesRefLoc "Ref. location" ref_point POINTORXYZ 1
	    exclusiveGroupItem END
	    exclusiveGroup moveNodesExactCsys "Set" "Coordinate system" 2 DROPDOWN
		exclusiveGroupItem moveNodesExactCart "Cartesian"
		    greyGroup moveNodesExactBVertexX "Modify X"
			greyGroupItem moveNodesExactBVertexControlX " "
			    textEntry moveNodesExactBVertexControlXVal "X" X NUM
			greyGroupItem END
		    greyGroup END
		    greyGroup moveNodesExactBVertexY "Modify Y"
			greyGroupItem moveNodesExactBVertexControlY " "
			    textEntry moveNodesExactBVertexControlYVal "Y" Y NUM
			greyGroupItem END
		    greyGroup END
		    greyGroup moveNodesExactBVertexZ "Modify Z"
			greyGroupItem moveNodesExactBVertexControlZ " "
			    textEntry moveNodesExactBVertexControlZVal "Z" Z NUM
			greyGroupItem END
		    greyGroup END
		exclusiveGroupItem END
		exclusiveGroupItem moveNodesExactCyl "Cylindrical"
		    greyGroup moveNodesExactCylR "Modify R"
			greyGroupItem moveNodesExactCylRGI " "
			    textEntry moveNodesExactCylRVal "R" X NUM
			greyGroupItem END
		    greyGroup END
		    greyGroup moveNodesExactCylT "Modify Theta"
			greyGroupItem moveNodesExactCylTGI " "
			    textEntry moveNodesExactCylTVal "T" Y NUM
			greyGroupItem END
		    greyGroup END
		    greyGroup moveNodesExactCylZ "Modify Z"
			greyGroupItem moveNodesExactCylZGI " "
			    textEntry moveNodesExactCylZVal "Z" Z NUM
			greyGroupItem END
		    greyGroup END
		exclusiveGroupItem END
	    exclusiveGroup END
	exclusiveGroup END
      	#greyGroup moveNodesByVec "By Vector"
       		 #greyGroupItem moveNodesByVector " "
	 	     #entityChooser moveNodesVec "2 Screen Points" pointList POINTORXYZ 2
		     # turned off pickVec temporarily as it picks by points - Ganesan
       		     #entityChooser moveNodesVec "Screen Vector" pickVecList POINT 2
       		 #greyGroupItem END
	#greyGroup END
	entityChooser moveNodesEx "Select" nodeList NODE ANY
      frame END
    exclusiveGroupItem END
# 2
    exclusiveGroupItem offsetMesh "Offset Mesh" E_OffsetMesh$icon_size2.gif
    	frame offsetMeshFrame "Offset Mesh in Normal Direction"
	    entityChooser offsetElemsPick "Elements" elemList 2D_EL ANY 
	    textEntry offsetDistanceEntry "Distance" distance NUM 
    	frame END
    exclusiveGroupItem END
# 3

     exclusiveGroupItem moveNodesOnLine "Align Nodes" E_AlignNodes$icon_size2.gif
	frame alignNodesRF "Align Nodes"
	    entityChooser alignDirectionPick "Reference direction" alignDir NODE 2
	    entityChooser alignNodesPick "Nodes " nodeList NODE ANY
	frame END
     exclusiveGroupItem END
# 4
    exclusiveGroupItem moveNodesPrismEdge "Redistribute Prism Edge" E_RedistPrism$icon_size2.gif
	frame m8 "Redistribute Prism Edge"
	    exclusiveGroup moveNodesPrismEdgeEG "Split Prisms " "Method" 2 RADIO
	    checkItem moveNodesPrismEdgeChk1 "Redistribute locked prism elements" lockedFlag NULL
	    #checkItem moveNodesPrismEdgeChk2 "Respect locked prism elements" ignoreFlag NULL
		exclusiveGroupItem moveNodesPrismEdgeRtEGI "Fix ratio"
		  textEntry moveNodesPrismEdgeRt "Prism ratio" prismratio NUM
        	exclusiveGroupItem END
		exclusiveGroupItem moveNodesPrismEdgeHtEGI "Fix initial height"
		  textEntry moveNodesPrismEdgeHt "Initial height" initheight NUM
        	exclusiveGroupItem END
	    	exclusiveGroup END
	frame END
        checkItem  redistUseLocals "Use local parameters" use_local_redist NULL
     exclusiveGroupItem END

# 5
     exclusiveGroupItem moveNodesProjSurf "Project to Surface (key = Ctrl-p)" E_Node2Surf$icon_size2.gif
       	frame m2 "Project Nodes to Surface"
 		entityChooser moveNodesIntact2 "Nodes to Project" nodeList NODE ANY
		exclusiveGroup moveNodesProjSurfMeth "Projection" "Method" 2 DROPDOWN
		    exclusiveGroupItem moveNodesProjSurfNorm "Nearest"
		    exclusiveGroupItem END
		    exclusiveGroupItem moveNodesProjSurfDir "Direction"
			exclusiveGroup moveNodesProjSurfDirEG "Direction" "Method" 1 RADIO
			    exclusiveGroupItem moveNodesProjSurfDirEGOff "Explicit"
				textEntry moveNodesDirX "X offset" dir_x NUM
				textEntry moveNodesDirY "Y offset" dir_y NUM
				textEntry moveNodesDirZ "Z offset" dir_z NUM
			    exclusiveGroupItem END

			    exclusiveGroupItem moveNodesProjSurfDirEG2P "Vector"
				dialogSpace 1
				entityChooser moveNodesProjSurfDir2PPick "2 points" mvpointList2  POINTORXYZ 2
			    exclusiveGroupItem END
			exclusiveGroup END
		    exclusiveGroupItem END
		exclusiveGroup END

		checkItem moveNodesProjSurfNormDev "Always normal" NodesProjNormalFlag NULL
		dropDownEntry moveNodeSurfWhat "Project to" projectionSurfList proj_surf FALSE
	frame END
     exclusiveGroupItem END
# 6
     exclusiveGroupItem moveNodesProjCurve "Project to Curve(s) (key = p)" E_Node2Curve$icon_size2.gif
      	frame m3 "Project Nodes to Curve(s)"
	    entityChooser moveNodesIntact3 "Nodes to Project" nodeList NODE ANY
	    greyGroup moveNodesToCurveGG "Project by Tolerance"
	        greyGroupItem moveNodesToCurveGI "Project by Tolerance"
	            textEntry moveNodesToCurveTol "Tolerance" nodeCrvTol NUM
	            entityChooser moveNodesToCurvePick "Curve(s)" curveList CURVE ANY
	        greyGroupItem END
	    greyGroup END
	frame END
     exclusiveGroupItem END
# 7
     exclusiveGroupItem moveNodesProjPoint "Project to Point(s) (key = Shift-P)" E_Node2Point$icon_size2.gif
      	frame m4 "Project Nodes to Point(s)"
	    entityChooser moveNodesIntact4 "Nodes to Project" nodeList NODE ANY	    
	    exclusiveGroup moveNodesPointMethod "Projection" "Method" 2 RADIO
	        exclusiveGroupItem moveNodesPointExplicitGI "Explicit"
	            greyGroup projNodesGG "Project To"
		        greyGroupItem projNodesGI "Point"
		            entityChooser projNodesPoint "Point" projPoint POINT 1
    		        greyGroupItem END
		        greyGroupItem projNodesSelfGI "Self"
		        greyGroupItem END
	            greyGroup END
	        exclusiveGroupItem END
	        exclusiveGroupItem moveNodesPointByTolGI "By Tolerance"
	            textEntry projNodesPointByTol "Tolerance" nodePointTol NUM
	            entityChooser projNodesPoints "Point(s)" projPoints POINT ANY
	        exclusiveGroupItem END
	    exclusiveGroup END
	frame END
     exclusiveGroupItem END
# 8
     exclusiveGroupItem moveNodesUnProj "Un-Project" E_Node2Nothing$icon_size2.gif
      	frame m5 "Un-Project Nodes"
 		entityChooser moveNodesIntact5 "Select" nodeList NODE ANY
	frame END
     exclusiveGroupItem END

# 9
    exclusiveGroupItem lulockElements "Lock/Unlock Elements" E_Lock$icon_size2.gif
    frame m10 "Lock/Unlock Elements"
        radioGroup locktypeG "Lock/Unlock" 1 locktypeg 1 NULL
            radioItem lockElem "Lock Elements" "create"
            radioItem unlockElem "Unlock Elements" "clear"
        radioGroup END
        entityChooser lulockElementsPick "Elements" lulockList ELEM ANY
    frame END
    exclusiveGroupItem END
# 10
    exclusiveGroupItem moveNodesUpProj "Snap Project Nodes (key = v)" E_ProjDisp$icon_size2.gif
      	frame m6 "Snap Project Nodes"
 		entityChooser moveNodesIntact6 "Select" nodeList NODE ANY
		exclusiveGroup moveNodesProjSnapMeth "Projection" "Method" 2 DROPDOWN
		    exclusiveGroupItem moveNodesProjSnapNorm "Nearest"
		    exclusiveGroupItem END
		    exclusiveGroupItem moveNodesProjSnapDir "Direction"
			exclusiveGroup moveNodesProjSnapDirEG "Direction" "Method" 1 RADIO
			    exclusiveGroupItem moveNodesProjSnapDirEGOff "Explicit"
				textEntry moveNodesSnapDirX "X offset" dir_x NUM
				textEntry moveNodesSnapDirY "Y offset" dir_y NUM
				textEntry moveNodesDirSnapZ "Z offset" dir_z NUM
			    exclusiveGroupItem END

			    exclusiveGroupItem moveNodesProjSnapDirEG2P "Vector"
				dialogSpace 1
				entityChooser moveNodesProjSnapDir2PPick "2 points" mvpointList2  POINTORXYZ 2
			    exclusiveGroupItem END
			exclusiveGroup END
		    exclusiveGroupItem END
		exclusiveGroup END

		checkItem moveNodesProjSnapNormDev "Always normal" NodesProjNormalFlag NULL
		dropDownEntry moveNodeSnapWhat "Project to" projectionSurfList proj_surf FALSE
	frame END
     exclusiveGroupItem END

#11
    exclusiveGroupItem moveNodesProjAuto "Update Projection" E_UpdateProj$icon_size2.gif
	#frame m7 "Update by Element Type"
	#	entityChooser moveNodesIntact7 "Select" nodeList NODE ANY
	#frame END
    exclusiveGroupItem END

# 12
    exclusiveGroupItem  moveNodesProjPlane "Project Nodes to Plane" E_Node2Plane$icon_size2.gif
       entityChooser moveNodesIntact8 "Select" nodeList NODE ANY
       exclusiveGroup moveNodesPlaneNormEG "Plane Setup" "Method" 4 DROPDOWN		           
              exclusiveGroupItem PlaneAxisPntPln "Point and Plane"
	          entityChooser PlanePointnrm1 "Through point" PlanePntList  POINTORXYZ 1 "do xyz"
	          textEntry Planevec "Normal" Planenormal NUM
              exclusiveGroupItem END           	
              exclusiveGroupItem PlaneAxisThreepnt "Three Points"
		  entityChooser PlanePoint1 "Point1" PlanePnt1  POINTORXYZ 1 "do xyz no_confirm"
		  entityChooser PlanePoint2 "Point2" PlanePnt2  POINTORXYZ 1 "do xyz no_confirm"
		  entityChooser PlanePoint3 "Point3" PlanePnt3  POINTORXYZ 1 "do xyz no_confirm"
              exclusiveGroupItem END           	
      exclusiveGroup END	
   exclusiveGroupItem END

 #  dialogSpace 1
 exclusiveGroup END
dataEntryDialog END

#---------------------------------------------------------------------------------------------------
dataEntryDialog deleteNodesDEZ "Delete Nodes"
    entityChooser deleteNodesPick "Nodes" nodeList NODE ANY
dataEntryDialog END
#---------------------------------------------------------------------------------------------------

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

dataEntryDialog deleteElemsDEZ "Delete Elements"
    entityChooser deleteElemsPick "Elements" elemList ELEM ANY "fast_parts"
dataEntryDialog END

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

dataEntryDialog mergeNodesDEZ "Merge Nodes"
    #entityChooser mergeNodesPick "Nodes" mergeNodeList  NODE ANY
    exclusiveGroup mergeNodesEG "Merge Type" "Method" 3 ICON
	exclusiveGroupItem mergeInterRM "Merge Interactive (key = a, Ctrl-a)" E_MergeNodes$icon_size2.gif
	    frame mergeNodesInterFR "Interactive"
		  entityChooser mergeNodesPick "Nodes" mergeNodeList  NODE ANY warn_for_all
		  checkItem mergeNodespropChk "Propagate merge" mergeNodesPropagFlag NULL
		  checkItem mergeNodesAveChk "Merge to average" mergeNodesAveFlag NULL
		  checkItem mergeNodesForce  "Ignore projection" mergeNodesForceFlag NULL
	    frame END
	exclusiveGroupItem END
	exclusiveGroupItem mergeTolRM "Merge Tolerance" E_MergeNodesTol$icon_size2.gif
	    frame nergeNodesTolFR "Tolerance Selected"
		entityChooser mergeNodesPick2 "Nodes" mergeNodeList  NODE ANY
      		textEntry mergeNodesTolEntry "Tolerance" tol NUM
		checkItem mergeNodesTolForce "Ignore projection" mergeNodesTolForceFlag NULL
		checkItem mergeNodesTolSingleE "Only on Single Edges" mergeNodesSingleEdgesFlag NULL
   	    frame END
	exclusiveGroupItem END
	exclusiveGroupItem mergelMeshes "Merge Meshes" E_MergeMesh$icon_size2.gif
	        exclusiveGroup mergeMeshGG "Merge Meshes" "Method" 1 RADIO
		    exclusiveGroupItem mergeVolG "Merge volume meshes"
			entityChooser mergeMeshSurfPartsPick "Merge surface mesh parts" mergeMeshSurfParts PART ANY
			entityChooser mergeMeshVolPartsPick "Frozen volume mesh parts" mergeMeshVolParts PART ANY
		    exclusiveGroupItem END
		    exclusiveGroupItem resolveRefG "Resolve refinements"
			radioGroup resolveTypeG "Type" 1 resolvetypeg 1 NULL
			    radioItem typeStandard "Standard" "0"
			    radioItem typeAllowUsable "Allow unstable patterns" "-1"
			    radioItem typepure3d "Pure 3D refinement" "1"
 			radioGroup END
ifdef QUAD_DEBUG
            integerEntry resolveRefDebug "Debug level" resolvedb -1 5 1
endif
		    exclusiveGroupItem END
		exclusiveGroup END
	exclusiveGroupItem END
    exclusiveGroup END
dataEntryDialog END

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


dataEntryDialog splitMeshDEZ "Split Mesh"
  exclusiveGroup editElemsGG "Split" "Method" 6 ICON
	exclusiveGroupItem splitNode2 "Split Nodes" E_SplitNode$icon_size2.gif
	    frame sp1 "Split Nodes"
		checkItem splitNodeRG "Non-manifold" opt5 aie_split_mesh_non_manifold
		entityChooser splitNodeScrenSel "Select" nodeList NODE ANY
	    frame END
	exclusiveGroupItem END

	exclusiveGroupItem splitEdge "Split Edges (key = s, Ctrl-s)" E_SplitEdge$icon_size2.gif
	   exclusiveGroup SplitEdgeGG "Split edges" "Method" 2 RADIO
	       exclusiveGroupItem  splitEdgeSelect "Selected"
	           checkItem splitEdgeProp "Propagate" split_propagate aie_select_split_propagate
	           checkItem splitEdgeProj "Project" split_project NULL
		   textEntry splitEdgeRatio "Split Ratio" split_ratio NUM
		   entityChooser splitEdgeScrenSel "Select" edgeList EDGE ANY
	      exclusiveGroupItem END
	      exclusiveGroupItem splitEdgeDWalls "Double walls"
	      exclusiveGroupItem END
	      exclusiveGroupItem splitEdgeSpanning "Interior spanning"
	      exclusiveGroupItem END
              exclusiveGroupItem splitEdgeboundSpanning "All spanning"
              exclusiveGroupItem END
	   exclusiveGroup END	
	exclusiveGroupItem END

	exclusiveGroupItem swapEdge "Swap Edges (key = w)" E_Swap$icon_size2.gif
	    exclusiveGroup swapEdgeEG "Swap Edges" "Method" 2 RADIO
		exclusiveGroupItem swapEdgeSel "Interactive"
		    entityChooser swapEdgeScrenSel "Select" edgeList EDGE ANY
		exclusiveGroupItem END
		exclusiveGroupItem swapEdgeAuto "Automatic"
		    exclusiveGroup swapEdgeAutoG "Automatic" "Method" 2 RADIO
			exclusiveGroupItem swapEdgeGQual "By Quality"
			    integerEntry swapEdgeQuality "Minimum quality" quality -1.0 1.0 0.01
			exclusiveGroupItem END
			exclusiveGroupItem swapEdgeGDev "By Deviation"
			    integerEntry swapEdgeDeviation "Maximum deviation (rel.)" max_deviation 0.01 1.0 0.01
			exclusiveGroupItem END
		    exclusiveGroup END	
		    integerEntry swapEdgeNiter "Number of iterations" niter 1 10 1
		exclusiveGroupItem END
	    exclusiveGroup END	
	exclusiveGroupItem END
	exclusiveGroupItem SplitElemsRG "Split Tri Elements" E_SplitTri$icon_size2.gif
# When you are able to split more element types, we can change this back to the more Generic Split Elements and Split Shell Elements ICON - Simon
      	    frame sp4 "Split Tri Elements"
        	    	entityChooser editElemsScrenSel "Select" elemList 2D_EL ANY
	    frame END
	exclusiveGroupItem END

	exclusiveGroupItem SplitIntWalls "Split Internal Wall" E_SplitIntWall$icon_size2.gif
      	    frame sp5 "Split Internal Wall"
		# entityChooser splitWallPart "New Part" part_name PART ANY
		entityChooser internalWallPick "Internal wall parts" splitParts PART ANY
		checkItem internalWallVol "Create volume cells" volume NULL
	    frame END
	exclusiveGroupItem END

	exclusiveGroupItem YSplitHexas "Y-Split Hexas At Vertex" E_SplitHexO$icon_size2.gif
	    frame sp6 "Y-Split Hexas At Vertex"
		entityChooser ysplitHexaNodeSel "Split Vertices" nodeList NODE ANY
	    frame END
	exclusiveGroupItem END

#ifdef AI_ENV_CFD
	exclusiveGroupItem SplitPrisms "Split Prisms" E_SplitPrism$icon_size2.gif
	    entityChooser splitSurfacePartsPick "Prism Surface Parts" split_surface_parts PART_2D ANY
	    #entityChooser splitPrismPartsPick "Prism Volume Parts" split_prism_parts PART_PRISM ANY
	    entityChooser splitPrismPartsPick "Prism Volume Parts" split_prism_parts PART_3D ANY
		exclusiveGroup splitPrismEG "Split Prisms " "Method" 2 RADIO
	            exclusiveGroupItem splitPrismRatioEGI "Fix ratio"
			textEntry splitPrismRatio "Prism ratio" prism_ratio NUM
           	    exclusiveGroupItem END
		    exclusiveGroupItem splitPrismHeightEGI "Fix initial height"
			textEntry splitPrismHeight "Initial layer height" prism_height NUM
           	    exclusiveGroupItem END
		exclusiveGroup END
		integerEntry splitPrismNlay "Number of layers" n_layers 1 500 1
		greyGroup splitPrismSpecLayGG  "Split only specified layers"
		    greyGroupItem splitPrismLayGroup Foo
			textEntry splitPrismLayers "Layer numbers (0,1,2...)"  layer_number NUM
		    greyGroupItem END
		greyGroup END
                checkItem  splitSkipPyras "Do not split attached pyramids" skip_pyras NULL
	exclusiveGroupItem END
#endif
  exclusiveGroup END
dataEntryDialog END

	        #  radioItem splitElemsIBut "Internal Faces" "IntFaces" 
	        #  radioItem splitElemsDBut "Double Wall" "DoubleWall" 
	        #  radioItem splitElemsPBut "Prism" "Prism" 
	        #	radioGroup splitEdgeRG "Split Edge" 2 opt4 1 NULL
		# radioItem splitEdgeIBut "Swap Edges" "SwapEdges" 

     	      	#radioGroup END

#----------------------***Transform Elements, any entity***------------------------------------------------

dataEntryDialog transformElemsToolsDEZ "Mesh Transformation Tools"
    entityChooser transfmoveElemesPick "Select" elemList ELEM ANY 

    dialogSpace 1

    exclusiveGroup transformElemsEG "Translate/Rotate/Mirror/Scale" "Method" 4 ICON
    dialogSpace 1    
    
    	exclusiveGroupItem transMoveElemsEGI "Translate Mesh" E_Translate$icon_size2.gif
    	frame transMoveMeshframe "Translate"
	    greyGroup  moveElemesCopyGG "Copy"
		greyGroupItem numCopiesGI "Copy"
		    integerEntry numCopies "Number of copies" numCopies 1 100 1
		    entityChooser incrmentMeshPart1 "Increment Parts" incrParts PART ANY
		    greyGroup copyElemsMergeNodesGG0 "Merge nodes"
		        greyGroupItem copyElemsMergeNodesGI0 "Merge nodes"
			    exclusiveGroup copyElemsMergeNodesGI0T "Tolerance Method" " " 2 RADIO
				exclusiveGroupItem copyElemsMergeNodesGI0TA "Automatic"
				exclusiveGroupItem END
				exclusiveGroupItem copyElemsMergeNodesGI0TD "User defined"
				    textEntry copyElemsMergeNodesGI0TD0 "Tolerance" mergeTol NUM
				exclusiveGroupItem END
			    exclusiveGroup END
			    checkItem copyElemsMergeElems0 "Delete duplicate elements" mergeElems NULL
			greyGroupItem END
		    greyGroup END 
		greyGroupItem END
	    greyGroup  END 
    	    dialogSpace 1    
  		
  		exclusiveGroup translateElemsEG "Translation" "Method" 1 RADIO
    		    exclusiveGroupItem moveElemsEGOff "Explicit"
      	    	     	textEntry moveElemsX "X offset" x NUM 
			textEntry moveElemsY "Y offset" y NUM 
			textEntry moveElemsZ "Z offset" z NUM 
    		    exclusiveGroupItem END

    	    	    exclusiveGroupItem transfmoveElemsEG2P "Vector"
      		    	dialogSpace 1
        	    	entityChooser transfmoveElems2PPick "2 points" pointList2  POINTORXYZ 2
      		    exclusiveGroupItem END
  	        exclusiveGroup END
    frame END
    exclusiveGroupItem END # end of Move

#----------------
   
   exclusiveGroupItem transRotateElemsEGI "Rotate Mesh" E_Rotate$icon_size2.gif
   frame rotateMoveMeshframe "Rotate"
    	greyGroup  moveElemesCopyGG2 "Copy"
		greyGroupItem numCopiesGI2 "Copy"
		    integerEntry numCopies2 "Number of copies" numCopies 1 100 1
		    entityChooser incrmentMeshPart2 "Increment Parts" incrParts PART ANY
		    greyGroup copyElemsMergeNodesGG1 "Merge nodes"
		        greyGroupItem copyElemsMergeNodesGI1 "Merge nodes"
			    exclusiveGroup copyElemsMergeNodesGI1T "Tolerance Method" " " 2 RADIO
				exclusiveGroupItem copyElemsMergeNodesGI1TA "Automatic"
				exclusiveGroupItem END
				exclusiveGroupItem copyElemsMergeNodesGI1TD "User defined"
				    textEntry copyElemsMergeNodesGI1TD0 "Tolerance" mergeTol NUM
				exclusiveGroupItem END
			    exclusiveGroup END
			    checkItem copyElemsMergeElems1 "Delete duplicate elements" mergeElems NULL
			greyGroupItem END
		    greyGroup END 
		greyGroupItem END
	    greyGroup  END 
    	    dialogSpace 1    

           exclusiveGroup ElemRotateAxisOptionEG "Rotation " "Axis" 2 RADIO
           	exclusiveGroupItem ElemRotateAxisOptionX "X"
           	exclusiveGroupItem END
           	
           	exclusiveGroupItem ElemRotateAxisOptionY "Y"
           	exclusiveGroupItem END
           	
           	exclusiveGroupItem ElemRotateAxisOptionZ "Z"
           	exclusiveGroupItem END

           	exclusiveGroupItem ElemRotateAxisOptionV "Vector"
           		entityChooser ElemRotateAxis2PPick "2 points" axisElemList  POINTORXYZ 2
           	exclusiveGroupItem END
           exclusiveGroup END

        dialogSpace 1
          
      	textEntry ElemRotateAngle "Angle" rot_angle NUM
      	dialogSpace 1	
      		exclusiveGroup RotateElemCenterEG "Center of Rotation" "Center Point" 1 DROPDOWN
			exclusiveGroupItem rotatefElemOrigin "Origin"
			exclusiveGroupItem END
		
			exclusiveGroupItem rotateElemCentroid "Centroid"
			exclusiveGroupItem END
		
			exclusiveGroupItem rotateElemUsrPoint "Selected"
			    entityChooser rotateElemCenterPnt "Point" rotateCenterPnt POINT 1
			exclusiveGroupItem END
	 
		exclusiveGroup END
   frame END
   exclusiveGroupItem END # end of Rotation
   
#--------------------------Mirror Mesh-------------

   exclusiveGroupItem transMirrorElemsEGI "Mirror Mesh" E_Mirror$icon_size2.gif
   frame mirrorMoveMeshframe "Mirror"
    	greyGroup  moveElemesCopyGG3 "Copy"
		greyGroupItem numCopiesGI3 "Copy"
		    entityChooser incrmentMeshPart3 "Increment Parts" incrParts PART ANY
		    greyGroup copyElemsMergeNodesGG2 "Merge nodes"
		        greyGroupItem copyElemsMergeNodesGI2 "Merge nodes"
			    exclusiveGroup copyElemsMergeNodesGI2T "Tolerance Method" " " 2 RADIO
				exclusiveGroupItem copyElemsMergeNodesGI2TA "Automatic"
				exclusiveGroupItem END
				exclusiveGroupItem copyElemsMergeNodesGI2TD "User defined"
				    textEntry copyElemsMergeNodesGI2TD0 "Tolerance" mergeTol NUM
				exclusiveGroupItem END
			    exclusiveGroup END
			    checkItem copyElemsMergeElems2 "Delete duplicate elements" mergeElems NULL
			greyGroupItem END
		    greyGroup END 
		greyGroupItem END
	    greyGroup  END 
      dialogSpace 1
    exclusiveGroup ElemMirrorAxisOptionEG "Reflection " "Plane Axis (Normal)" 2 RADIO
    	exclusiveGroupItem ElemMirrorAxisOptionX "X"
    	exclusiveGroupItem END
                 	
    	exclusiveGroupItem ElemMirrorAxisOptionY "Y"
    	exclusiveGroupItem END
                 	
    	exclusiveGroupItem ElemMirrorAxisOptionZ "Z"
    	exclusiveGroupItem END
                 	
      	exclusiveGroupItem ElemMirrorAxisOptionV "Vector"
         	entityChooser ElemMirrorAxis2PPick "2 points" normPointList  POINTORXYZ 2
      	exclusiveGroupItem END
    
   exclusiveGroup END
   
   dialogSpace 1	
         	exclusiveGroup ReflectElemCenterEG "Point of Reflection" "About Point" 1 DROPDOWN
   			exclusiveGroupItem reflectElemOrigin "Origin"
   			exclusiveGroupItem END
   		
   			exclusiveGroupItem reflectElemCentroid "Centroid"
   			exclusiveGroupItem END
   	
   			exclusiveGroupItem reflectElemUsrPoint "Selected"
   		    		entityChooser reflectElemCenterPnt "Point" reflectCenterPnt POINT 1
   			exclusiveGroupItem END
   	 
		exclusiveGroup END
   frame END
   exclusiveGroupItem END #end of Reflection
   
#--------------------------Scale Mesh-----------------------------------------   

   exclusiveGroupItem transScaleElemsEGI "Scale Mesh" E_Scale$icon_size2.gif
   frame scaleMoveMeshframe "Scale"
	greyGroup  moveElemesCopyGG4 "Copy"
		greyGroupItem numCopiesGI4 "Copy"
		    entityChooser incrmentMeshPart4 "Increment Parts" incrParts PART ANY
		greyGroupItem END
	greyGroup  END 
    dialogSpace 1       
   	textEntry scaleElemsX "X factor" xF NUM 
    textEntry scaleElemsY "Y factor" yF NUM 
    textEntry scaleElemsZ "Z factor" zF NUM 
  	#-----------------Choose Center of Transformation--------------------------
	dialogSpace 1
	exclusiveGroup ScaleElemsCentEG "Center of Transformation" "Center Point" 1 DROPDOWN
		exclusiveGroupItem transfElemOrigin "Origin"
		exclusiveGroupItem END
	
		exclusiveGroupItem transfElemCentroid "Centroid"
		exclusiveGroupItem END
	
		exclusiveGroupItem transfElemUsrPoint "Selected"
		    entityChooser ElemTransfrmCenterPnt "Point" scaleCenterPnt POINT 1
		exclusiveGroupItem END
	exclusiveGroup END
    frame END     
   exclusiveGroupItem END #end of Scale

exclusiveGroupItem transAutoMeshEGI "Translate and Rotate" E_TransformFit$icon_size2.gif
  frame transAutoMeshRotateMoveframe "Translate and Rotate"
        greyGroup moveElemesCopyGG5 "Copy"
            greyGroupItem copyAutoMeshChk "Copy"
		        entityChooser incrmentMeshPart5 "Increment Parts" incrParts PART ANY  
		    greyGroupItem END
		greyGroup END
		dialogSpace 1
		exclusiveGroup transAutoMeshEG "Translate and Rotate Method" "Selection Method" 1 DROPDOWN
			exclusiveGroupItem rotateAutoMesh3Pts "3 points -> 3 points"
           		entityChooser rotateAutoMesh3PtsPick "3 points -> 3 points" rotateAutoMeshList  POINTORXYZ 6 xyz
			exclusiveGroupItem END
			exclusiveGroupItem rotateAutoMesh2Crvs "Curve -> Curve"
           		entityChooser rotateAutoMesh2CrvsPick "Curve -> Curve" rotateAutoMeshList  CURVE 2
			exclusiveGroupItem END
			exclusiveGroupItem rotateAutoMeshFromLcs "LCS -> LCS"
				#textButton rotateAutoMeshBut "Show LCS" ShowAllLCSProc
           		entityChooser rotateAutoMeshLcsFrom "From CSYS" fromLCS POINTORXYZ 1 "image.csys no_confirm" "Coordinate system (from)"
           		entityChooser rotateAutoMeshLcsTo "To CSYS" toLCS POINTORXYZ 1 "image.csys no_confirm" "Coordinate system (to)"
			exclusiveGroupItem END				
		exclusiveGroup END
  frame END
exclusiveGroupItem END 
exclusiveGroup END

dataEntryDialog END

#----------------------***Morph Elements, any entity***------------------------------------------------

dataEntryDialog morphElemsToolsDEZ "Mesh Morphing Tool"
    entityChooser morphElemesPick "Bounding (morphing) region" morphList  ELEM ANY
    entityChooser morphElemesInnerPick "Transformed (fixed) region" transformList  ELEM ANY
    checkItem morphElemsProjNodes "Project to geometry" projFlag NULL
    checkItem morphElemsUpdateGeom "Update geometry" updateFlag NULL
    dialogSpace 1

    exclusiveGroup morphElemsEG "Translate/Rotate/Mirror/Scale" "Method" 4 ICON
    dialogSpace 1    
    
    	exclusiveGroupItem morphMoveElemsEGI "Translate Mesh" E_Translate$icon_size2.gif
  		
  		exclusiveGroup morphElemsEGT "Translation" "Method" 1 RADIO
    		    exclusiveGroupItem morphmoveElemsEGOff "Explicit"
      	    	     	textEntry morphmoveElemsX "X offset" x NUM 
         	     		textEntry morphmoveElemsY "Y offset" y NUM 
         	     		textEntry morphmoveElemsZ "Z offset" z NUM 
# 			dropDownEntry morphmoveElemsLCS "LCS" LCSList LCS TRUE
    		    exclusiveGroupItem END

    	    	    exclusiveGroupItem morphmoveElemsEG2P "Vector"
      		    	dialogSpace 1
 			entityChooser morphmoveElems2PPick "2 points" pointList2  POINTORXYZ 2
      		    exclusiveGroupItem END
  	exclusiveGroup END
  	
  	dialogSpace 1

    exclusiveGroupItem END # end of Move

#----------------
   
   exclusiveGroupItem morphRotateElemsEGI "Rotate Mesh" E_Rotate$icon_size2.gif

           exclusiveGroup morphElemRotateAxisOptionEG "Rotation " "Axis" 2 RADIO
           	exclusiveGroupItem morphElemRotateAxisOptionX "X"
           	exclusiveGroupItem END
           	
           	exclusiveGroupItem morphElemRotateAxisOptionY "Y"
           	exclusiveGroupItem END
           	
           	exclusiveGroupItem morphElemRotateAxisOptionZ "Z"
           	exclusiveGroupItem END
           	
           	exclusiveGroupItem morphElemRotateAxisOptionV "Vector"
           		entityChooser morphElemRotateAxis2PPick "2 points" axisElemList  POINTORXYZ 2
           	exclusiveGroupItem END
           exclusiveGroup END
        
        dialogSpace 1

      	textEntry morphElemRotateAngle "Angle" rot_angle NUM
      	dialogSpace 1	
      		exclusiveGroup morphRotateElemCenterEG "Center of Rotation" "Center Point" 1 DROPDOWN
			exclusiveGroupItem rmorphotatefElemOrigin "Origin"
			exclusiveGroupItem END
		
			exclusiveGroupItem morphrotateElemCentroid "Centroid"
			exclusiveGroupItem END
		
			exclusiveGroupItem morphrotateElemUsrPoint "Selected"
			    entityChooser morphrotateElemCenterPnt "Point" rotateCenterPnt POINT 1
			exclusiveGroupItem END
	 
		exclusiveGroup END
      	
   exclusiveGroupItem END # end of Rotation
   
#--------------------------Scale Geometry-----------------------------------------   
   exclusiveGroupItem morphScaleElemsEGI "Scale Mesh" E_Scale$icon_size2.gif
      	frame morphScaleElemsEGIFrame "Scale Mesh"
   
   		textEntry morphscaleElemsX "X factor" xF NUM
            	     	textEntry morphscaleElemsY "Y factor" yF NUM 
         	     	textEntry morphscaleElemsZ "Z factor" zF NUM 
		#-----------------Choose Center of Transformation--------------------------
		dialogSpace 1
		exclusiveGroup morphScaleElemsCentEG "Center of Transformation" "Center Point" 1 DROPDOWN
		    exclusiveGroupItem morphElemOrigin "Origin"
		    exclusiveGroupItem END
	
		    exclusiveGroupItem morphElemCentroid "Centroid"
		    exclusiveGroupItem END
	
		    exclusiveGroupItem morphElemUsrPoint "Selected"
			entityChooser morphElemTransfrmCenterPnt "Point" scaleCenterPnt POINT 1
		    exclusiveGroupItem END
		exclusiveGroup END
        frame END
   exclusiveGroupItem END #end of Scale
exclusiveGroup END

dataEntryDialog END

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



dataEntryDialog convertMeshTypeDEZ "Convert Mesh Type"
  exclusiveGroup convertMeshTypeGG "Convert Mesh" "Method" 5 ICON 
    exclusiveGroupItem triToQuad "Tri to Quad (key = t, Shift-T)" E_Tri2Quad$icon_size2.gif
        frame triToQuadFrame "Tri to Quad"
            entityChooser convertElemsPick "Elements" elemList 2D_EL ANY 
            dialogSpace 1
            radioGroup ProjectionChk "Surface Projection" 1 projectFlag 0 NULL
                radioItem ProjectionChkOff "Off" 0
                radioItem ProjectionChkGeom "Geometry" 1
                radioItem ProjectionChkMesh "Mesh" 2
            radioGroup END 
            checkItem triToQuadrizationChk "Quadrization" quadrizationFlag NULL
            integerEntry ImprovementChk "Mesh improvement" improvementFlag 0 3 1
            textEntry tri2QuadSkew "Max skewness" skew NUM
            textEntry tri2QuadWarp "Max warpage" warp NUM
        frame END
    exclusiveGroupItem END
    #dialogSpace 1
    exclusiveGroupItem quadToTri "Quad to Tri (key = Ctrl-t)" E_Quad2Tri$icon_size2.gif
      	frame quadToTriFrame "Quad to Tri"
	    greyGroup quad2TriGG "Method"
		greyGroupItem quad2TriSurface "Shells Only"
		    entityChooser convertElemsPick2 "Shells" elemList 2D_EL ANY 
		greyGroupItem END
		greyGroupItem quad2TriVolume "Through Hexas"
		    entityChooser splitHexNodesPick "Split Face Nodes" splitNodeList  NODE 2
		greyGroupItem END
	    greyGroup END  
 	frame END   
    exclusiveGroupItem END
    #dialogSpace 1  
    exclusiveGroupItem tetToHexa "Tet to Hex" E_Tet2Hex$icon_size2.gif
	 exclusiveGroup tetToHexaEG  "Convert Tetra to Hexa" "Method" 1 DROPDOWN tet2hextype
		exclusiveGroupItem tetToHex1to4 "1 tetra to 4 hexa"
	      	  entityChooser convertElemsPick3 "Elements" elemList ELEM ANY 
		  greyGroup tetToHexProjectChkGG "Project nodes"
			greyGroupItem tetToHexProjectChkGI "Project nodes"
    		  	checkItem  tetToHexProjectChkNormal "Normal to elements" normal NULL
			greyGroupItem END
		  greyGroup END
		exclusiveGroupItem END

		exclusiveGroupItem tetToHex12to1 "12 tetra to 1 hexa"
                    textEntry  tetToHexAspect "Min aspect ratio for hexa" aspect NUM
                    checkItem  tetToHexUselcs "Use active coordinate system" use_active_lcs NULL
                    greyGroup tetToHexGG "Elements"
                        greyGroupItem tetToHexAll "All"
                        greyGroupItem END
                        greyGroupItem tetToHexSel "Selected"
                            entityChooser tetToHexSelPart "Volume element parts" vol_parts PART ANY
                        greyGroupItem END
		    greyGroup END
		exclusiveGroupItem END
	exclusiveGroup END
    exclusiveGroupItem END
    #dialogSpace 1  

    exclusiveGroupItem allToTet "All Types to Tetra" E_Mesh2Tet$icon_size2.gif
	 exclusiveGroup allToTetEG "All Types to Tetra" "Method" 1 DROPDOWN all2tettype
	     exclusiveGroupItem allToTetGI "All to Tetra"
	         greyGroup convertSomeToTet "Selected elements"
	             greyGroupItem convertSomeToTetG " "
	                 entityChooser convertElemsPick40 "Elements" elemList ELEM ANY "fast_parts"
	             greyGroupItem END
		 greyGroup END
		 checkItem allToTetCons1 "Make consistent" all_to_tet_cons NULL
             exclusiveGroupItem END             
             exclusiveGroupItem onePrismTo3TetGI "1 Prism to 3 Tetra"
                  entityChooser convertElemsPick41 "Elements" elemList ELEM ANY
		  checkItem allToTetCons2 "Make consistent" all_to_tet_cons NULL
             exclusiveGroupItem END          
	exclusiveGroup END
    exclusiveGroupItem END
    
    exclusiveGroupItem allToSolid "Shell to Solid" E_QuadThicken$icon_size2.gif
         frame allToSolidFrame "All to Solid"	
	 	    greyGroup convertSomeToSolid "Selected elements"
			greyGroupItem convertSomeToSolidG " "
			    entityChooser convertElemsPick5 "Elements" elemListSolid 2D_EL ANY "fast_parts"
			greyGroupItem END
		    greyGroup END
		    textEntry  allToSolidSetThicknessT "Thickness" solid_thickness NUM
		    checkItem  allToSolidAdjustChk "Square corners" solid_adjust NULL
		    checkItem  allToSolidHexTConn "Hexa at T-connections" solid_hext NULL
    	 frame END   
    exclusiveGroupItem END

    exclusiveGroupItem createMidSide "Create Mid Side Nodes"  E_Linear2Quadratic$icon_size2.gif
    frame createMidSideFrame "Create Mid Side Nodes" 	
	 	    
	checkItem createMidSideMid "Mid face node" midfaceNode NULL
  	checkItem createMidSideInterf "Create node on interface" interf NULL
  	checkItem createMidSideGeom "Project to geometry" project NULL
  	dialogSpace 1
  		greyGroup createMidSideCalc "Calculate projection"
      		    greyGroupItem createMidSideCalculate " "
          		    	textEntry  createMidSideCalcTol "Tolerance" proj_tol NUM
      		    greyGroupItem END
  		greyGroup END  
  
  	frame createMidSideChecks "Check max"
      	    greyGroup createMidSideCheck1 "Check deviation"
          		greyGroupItem createMidSideGreyDev " "
               		    textEntry createMidSideDev "Midnode max deviation" dev NUM
          		greyGroupItem END
      	    greyGroup END
	    greyGroup createMidSideCheck2 "Check angle"
		greyGroupItem createMidSideGreyAng " "
			textEntry createMidSideAng "Midnode max angle" ang NUM 
		    greyGroupItem END
		greyGroup END
		greyGroup createMidSideCheck3 "Check chord"
		    greyGroupItem createMidSideGreyMax " "
			textEntry createMidSideMax "Max deviation from chord in %" chord NUM
          		    greyGroupItem END
		greyGroup END
  	    frame END
	    dialogSpace 1
	    greyGroup createMidSelect "Only selected elements"
		greyGroupItem createMidSideSelected "Selected Element(s) "
	    	    entityChooser createMidSideSel "Elements" elemList ELEM ANY "" "fast_parts"
		greyGroupItem END
  	    greyGroup END
  	    frame checkMidSideOptions "Tetra 10 elements"
        		checkItem standardTetraChk "Standard check" standardTetra "checkMidSideTetraElements 1"
        		checkItem strongTetraChk "Strong check" strongTetra "checkMidSideTetraElements 2"
  	    frame END
    
  	    dialogSpace 1
  
  	    greyGroup autoRefineMid "Automatic refinement"
		greyGroupItem refinementMid " "
            			checkItem smoothRefineMid "Smooth refinement" smoothRefineMidVal NULL
		greyGroupItem END
	    greyGroup END
	frame END   
    exclusiveGroupItem END

    exclusiveGroupItem deleteMidNodes "Delete Mid Side Nodes" E_Quadratic2Linear$icon_size2.gif
        exclusiveGroup deleteMidNodesMth "Delete Mid Side Nodes" "Select" 1 DROPDOWN deleteMidNodesMethod
            exclusiveGroupItem deleteMidNodesMthE "Elements"
	 	greyGroup deleteMidNodesEl "Selected elements"
		    greyGroupItem deleteMidNodesElG " "
			    entityChooser convertElemsPick6 "Elements" elemListDeleteMid ELEM ANY "fast_parts"
		    greyGroupItem END
		greyGroup END
	 	checkItem deleteMidNodesChk "Convert Quadratic elements to multiple Linear elements" deleteMidNodesFlag NULL    
                checkItem deleteMidNodesInterfE "Keep interface node" keep_interfE NULL
            exclusiveGroupItem END
            exclusiveGroupItem deleteMidNodesMthN "Nodes"
	 	greyGroup deleteMidNodesNd "Selected nodes"
		    greyGroupItem deleteMidNodesNdG " "
			    entityChooser convertNodesPick6 "Nodes" nodeListDeleteMid  NODE ANY
		    greyGroupItem END
		greyGroup END
                checkItem deleteMidNodesInterfN "Keep interface node" keep_interfN NULL
            exclusiveGroupItem END
        exclusiveGroup END
    exclusiveGroupItem END
ifdef AI_ENV_BETA
        exclusiveGroupItem smoothMidNodes "Smooth Mid-Nodes" E_SmoothMesh$icon_size2.gif
            frame smoothMidNodesSel "Smooth Mid-Nodes"
                #entityChooser smoothMidNodesElemsPick "Elements" midNodesList 2D_EL ANY
                entityChooser smoothMidNodesElemsPick "Elements" midNodesList ELEM ANY "fast_parts"
                integerEntry smoothMidNodesIters "Max iterations" midNodesIters 1 500 1
                integerEntry smoothMidNodesAccracy "Accuracy" midNodesAcc .0 0.1 .001
            frame END
	exclusiveGroupItem END #6
endif

  exclusiveGroup END
dataEntryDialog END

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

dataEntryDialog adjustMeshDEZ "Adjust Mesh Density"
    exclusiveGroup adjustMeshTypeGG "Refine/Coarsen" "Method" 4 ICON
    exclusiveGroupItem refineMesh2 "Refine All Mesh" E_RefineAll$icon_size2.gif
        exclusiveGroup refMaxSelDev2GG "Refine All Mesh" "Method" 1 DROPDOWN Refine2Method
            exclusiveGroupItem refAllSel2G "Pure refinement"
                integerEntry refMaxDevSteps2 "Steps" refSteps 1 3 1
                checkItem refMeshprojChk2 "Project Nodes" refineMeshProjFlag NULL
                checkItem refMeshOnlyTri "On Surface Only" onlyTriFlag "aie_set_refinement_only_by trionly"
                checkItem refMeshMidSide "By Mid Side Nodes Only" byMidSideFlag "aie_set_refinement_only_by midside"
            exclusiveGroupItem END
            exclusiveGroupItem refMaxSel2DevG "Surface Deviation"
                textEntry refMaxDevEntry3 "Max Surface Deviation" refinemaxDev NUM
                integerEntry refMaxDevSteps3 "Max steps" refSteps 1 3 1
                checkItem refMeshOnlyTri2 "On Surface Only" onlyTriFlag NULL
            exclusiveGroupItem END
            exclusiveGroupItem refMaxSel2LenG "Edge length"
                textEntry refMaxSelLenEntry2 "Max Edge Length" refinemaxLen NUM
                checkItem refMaxSelLenNobound2 "Weak Refinement" refineMeshNobound NULL
                integerEntry refMaxDevSteps4 "Max Steps" refSteps 1 3 1
                checkItem refMeshprojChk4 "Project Nodes" refineMeshProjFlag NULL
            exclusiveGroupItem END
ifdef AI_ENV_BETA
            exclusiveGroupItem refMaxSel2aspG "Aspect Ratio"
                textEntry refMaxSelAspEntry2 "Max Aspect Ratio" refinemaxAsp NUM
                checkItem refMaxSelAspNobound2 "Weak Refinement" refineMeshNobound NULL
                integerEntry refMaxDevSteps5 "Max Steps" refSteps 1 3 1
                checkItem refMeshprojChk5 "Project Nodes" refineMeshProjFlag NULL
            exclusiveGroupItem END
endif
ifdef AI_ENV_BETA
ifdef AI_ENV_IN_LINUX
            greyGroup refMeshDistGG "Distributed Refinement"
	        greyGroupItem refMeshDist "Distributed Refinement"
                    textButton refMeshDistHosts "Define Hosts" "aie_refine_dist_hosts"
		    textEntry refMeshDistNP "Number Partitions" numProcs NUM
                    checkItem refMeshDistOP "One Partition per Host" distOneProc NULL
ifdef REFINE_DIST_BIN
                    checkItem refMeshDistVB "Verbose Print" distVerbose NULL
                    checkItem refMeshDistLD "Load Mesh" distLoad NULL
		    textEntry refMeshDistTO "Connect Timeout" waitTimeout NUM
endif
	        greyGroupItem END
	    greyGroup END
endif
endif
        exclusiveGroup END
    exclusiveGroupItem END

    exclusiveGroupItem refineSelectedMesh "Refine Selected Mesh" E_RefineSubset$icon_size2.gif
    frame refineMeshSelFrame "Refine Selected Mesh"
    entityChooser adjustMeshElemsPick "Elements" elemList ELEM ANY 
    exclusiveGroup refMaxSelDevGG "Criteria" "Method" 1 DROPDOWN RefineMethod 
        exclusiveGroupItem refAllSelG "Pure refinement"
        integerEntry refMaxDevSteps "Steps" refSteps 1 3 1
        checkItem refMeshSelprojChk "Project nodes" refineMeshProjFlag NULL
        exclusiveGroupItem END
        exclusiveGroupItem refMaxSelDevG "Surface deviation"
            textEntry refMaxSelDevEntry "Max surface deviation" refinemaxDev NUM
            integerEntry refMaxDevSteps6 "Max steps" refSteps 1 3 1
        exclusiveGroupItem END
        exclusiveGroupItem refMaxSelLenG "Edge length"
            textEntry refMaxSelLenEntry "Max edge length" refinemaxLen NUM
            checkItem refMaxSelLenNobound "Weak refinement" refineMeshNobound NULL
            integerEntry refMaxDevSteps7 "Max steps" refSteps 1 3 1
            checkItem refMeshSelprojChk7 "Project nodes" refineMeshProjFlag NULL
        exclusiveGroupItem END
ifdef AI_ENV_BETA
        exclusiveGroupItem refMaxSelAspG "Aspect ratio"
            textEntry refMaxSelAspEntry "Max aspect ratio" refinemaxAsp NUM
            checkItem refMaxSelAspNobound "Weak refinement" refineMeshNobound NULL
            integerEntry refMaxDevSteps8 "Max steps" refSteps 1 3 1
            checkItem refMeshSelprojChk8 "Project nodes" refineMeshProjFlag NULL
        exclusiveGroupItem END
endif
    exclusiveGroup END
    frame END
    exclusiveGroupItem END

    exclusiveGroupItem coarsenMesh "Coarsen All Mesh" E_CoarsenAll$icon_size2.gif
        frame coarsMeshSelFrame "Coarsen All Mesh"
        textEntry coarsMinAspEntry4 "Min aspect ratio" coarsMinAsp NUM 
        textEntry coarsMaxSizeEntry4 "Max size" coarsMaxSize NUM 
        textEntry coarMaxDevEntry4 "Max surface deviation" coarsmaxDev NUM
        integerEntry coarsNumIterEntry4 "Number of Iterations" coarsNumIter 1 5 1
        checkFrame coarsenSurfChk4 "Coarsen surface" coarseSurfFlag NULL
        checkItem coarsenSizeChk4 "Maintain surface sizes" checkSizeFlag NULL
#        checkItem coarsenSurfChk4 "Coarsen surface" coarseSurfFlag NULL
        checkFrame END
        #entityChooser coarsenMeshElemsPick "Elements to freeze" elemfreezeList  ELEM ANY
        entityChooser coarsenFreezeDDE "Parts to freeze" freezeParts PART ANY
        #dropDownEntry coarsenFreezeDDE "Parts to Freeze" PartList freezeParts FALSE
        frame END
    exclusiveGroupItem END

    exclusiveGroupItem coarsenSelectedMesh "Coarsen Selected Mesh" E_CoarsenSubset$icon_size2.gif 
         frame coarsenMeshFrame2 "Coarsen Selected Mesh"
          entityChooser coarsenMeshElemsPick2 "Elements" elemList ELEM ANY 
          textEntry coarsMinAspEntry2 "Min aspect ratio" coarsMinAsp NUM 
          textEntry coarsMaxSizeEntry2 "Max size" coarsMaxSize NUM 
          textEntry coarMaxDevEntry2 "Max surface deviation" coarsmaxDev NUM
          integerEntry coarsNumIterEntry2 "Number of iterations" coarsNumIter 1 5 1
          #checkItem coarsenSurfChk2 "Coarsen Surface" coarseSurfFlag NULL
          checkItem coarsenSizeChk2 "Maintain surface sizes" checkSizeFlag NULL
         frame END
    exclusiveGroupItem END
  exclusiveGroup END

dataEntryDialog END


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



#dataEntryDialog tetToHexDEZ "Convert Tetra to Hexa"



#    dialogSpace 1



#    entityChooser convertElemsPick "Elements" elemList  ELEM ANY



#    checkItem  tetToHexProject "Project Nodes" proj NULL



#dataEntryDialog END



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

dataEntryDialog smoothDEZ "Smooth Elements Globally"
    frame quality "Quality"
        integerEntry qualityEB "Smoothing iterations" iters 1 500 1
        textEntry itersEB "Up to value" quality NUM 
        dropDownEntry chooseQualityDDE "Criterion" qualityDDList qualitydde FALSE READONLY
    frame END
    dialogSpace 1
    multiSelect smoothMeshMS "Smooth Mesh Type" EXCLUSIVE
	multiSelectRows
	    "TRI_3"
	    "TETRA_4"
	multiSelectRows END
	multiSelectColumns
	    "Smooth"
	    "Freeze"
	    "Float"
	multiSelectColumns END
    multiSelect END
    dialogSpace 1
    exclusiveGroup smoothMeshDEZM "Smooth Parts/Subsets" "Method" 1 DROPDOWN smoothMethod
        exclusiveGroupItem smoothMeshDEZMALL "All parts"
        exclusiveGroupItem END
        exclusiveGroupItem smoothMeshDEZMVP "Only active parts"
        exclusiveGroupItem END
        exclusiveGroupItem smoothMeshDEZMVS "Only visible subsets"
        exclusiveGroupItem END
        exclusiveGroupItem smoothMeshDEZACT "Active parts and visible subsets"
        exclusiveGroupItem END
    exclusiveGroup END
    dialogSpace 1
    textButton smoothRefreshHisto "Refresh Histogram" "smoothRefreshHistogram" 
    frame advancedOptions "Advanced Options"
#	checkItem onlyVisibleChk "Only visible subsets" onlyVisible NULL
#	checkItem activePartsChk "Active parts only" activePartsOnly NULL

#	columnMultiSelect smoothMeshCMS "Advanced Options"
#	    cmsColumn "Tet/Surface options"
# 		cmsItem "Allow node merging"
# 		cmsItem "Allow refinement"
#	    cmsColumn END
#	    cmsColumn "Hex Options"
#		cmsItem "Group bad hex regions"
#		cmsItem "Ignore Prepoints"
#		cmsItem "Surface Fitting"
#	    cmsColumn END
#	columnMultiSelect END
	frame advLaplace "Laplace"
	greyGroup advLaplacGG "Laplace smoothing"
        greyGroupItem advLaplacG "Laplace smoothing"
		    radioGroup advLaplacCriterion "Criterion" 2 LaplacCriterion 0 NULL
		        radioItem advLaplacPure "Pure" "pure"
		        radioItem advLaplacEdgeB "Edge length" "edge"
		    radioGroup END
		    greyGroup advLaplacResSfGG "Residual on Surfaces"
		        greyGroupItem advLaplacResSfG "Residual on Surfaces"
			        integerEntry advLaplacResSf "Residual" resSf 0 1.0 0.01
		        greyGroupItem END
		    greyGroup END
		    greyGroup advLaplacResVlGG "Residual in Volume"
		        greyGroupItem advLaplacResVlG "Residual in Volume"
			        integerEntry advLaplacResVl "Residual" resVl 0 1.0 0.01
		        greyGroupItem END
		    greyGroup END
	    greyGroupItem END
	greyGroup END
	frame END
#       checkItem advLaplacChk "Laplace smoothing" laplaceFlag NULL
        checkItem allElChk "Not just worst 1%" AllElFlag NULL
        checkItem noCollapse "Allow node merging" NoCollapseFlag NULL
        checkItem allowRefine "Allow refinement" RefineFlag NULL
        checkItem noGrouping "Group bad hex regions" HexGroupFlag NULL
        checkItem IgnorePPointChk "Ignore PrePoints" PrePointFlag NULL
        checkItem SfitChk "Surface Fitting" SFitFlag NULL
        textEntry PrismWarpValue "Prism Warpage Ratio" prismWarpRatio NUM
	greyGroup violateGG "Violate geometry"
	    greyGroupItem violateTolG "Violate geometry"
		    textEntry violateTol "Tolerance" violateTol NUM
		    checkItem violateTolRel "Relative Tolerance" relative_tol NULL
	    greyGroupItem END
	greyGroup END
	greyGroup minEdgeGG "Minimum Edge"
	    greyGroupItem MinEdgeLen "Minimum Edge"
		    textEntry minEdgeLen "Length" minEdgeLen NUM
	    greyGroupItem END
	greyGroup END
    frame END
dataEntryDialog END

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

dataEntryDialog smoothSOEDEZ "Smooth Hexahedral Mesh - Orthogonal"
ifdef AI_ENV_BETA
ifdef AI_ENV_ALPHA
    exclusiveGroup smoTypeEG "Smoother type" "Choose" 2 RADIO
        exclusiveGroupItem smoTypeGra "Gradient"
            frame iterationsSOEGra "Number of iterations"
                integerEntry iterationsSurfGra "On Surface" itersSurf 200 1000 1
                integerEntry iterationsVolGra "On Volume" itersVol 200 1000 1
            frame END    
            frame alphaSOE "Smoothness/Ortho Relation"
                scaleBar alphaSurfSOEGra "On Surface" alphaSurf 0 1 0.05 "ai_global_scale_alphaSurf" 0 160 1
                scaleBar alphaVolSOEGra "On Volume" alphaVol 0 1 0.05 "ai_global_scale_alphaVol" 0 160 1
            frame END
            frame critAvrChaSOE "Factor Node Change"
                scaleBar critAvrChaSurfSOEGra "On Surface" critAvrChaSurf 0 1 0.001 "ai_global_scale_critAvrChaSurf" 0 160 1
                scaleBar critAvrChaVolSOEGra "On Volume" critAvrChaVol 0 1 0.001 "ai_global_scale_critAvrChaVol" 0 160 1
            frame END
            dialogSpace 1
            exclusiveGroup freezeOptionsCriterionGra "Freeze Options" "Criterion" 1 RADIO freezeCriterion
                exclusiveGroupItem freezeOptionsBoundaryGra "All Surface Boundaries"
                    integerEntry numLayersFreezeSOEGra "Number of layers" numLayersFix 0 100000 1
                exclusiveGroupItem END
                exclusiveGroupItem freezeOptionsPartsGra2 "Selected Parts"
                    entityChooser freezeLayersSOESelGra2 "Select part(s)" partFixList PART ANY
                    textButton freezeLayersPartSOEGra2 "Selected part(s) Options" "onsmoothSOESetSelectedParts fix_layers 1" 
                    textEntry freezeLayersSOESelGraSet2 " " fix_layers_settings INVISIBLE
                exclusiveGroupItem END
            exclusiveGroup END
            frame firstLayerOptionsSOEGra2 "Release Orthogonality / Initial Height Options"
                entityChooser firstLayerSOESelEll2 "Select parts(s)" partFirstList PART ANY
                textButton firstLayersPartSOEGra2 " Selected part(s) Options" "onsmoothSOESetSelectedParts layer_distance 1"
                textEntry firstLayerSOESelEllSet2 " " layer_distance_settings INVISIBLE
            frame END
            frame edgesOptionsSOEGra "Define Edges On Part Border Options"
                entityChooser edgesBorderSOESelGra "Select parts(s)" partBorderList PART ANY
            frame END   
            frame edgesRebunch2SOEGra "Smooth along curves"
                radioGroup edgesRebunchSelect2SOEGra "Select" 1 rebunchEdges 0 aie_rebunch_edge_active
                    radioItem edgesRebunchNone2SOEGra "None" 0
                    radioItem edgesRebunchAll2SOEGra "Smooth all curves" 1
                    radioItem edgesRebunchSel2SOEGra "Smooth selected curves" 2
                radioGroup END  
                entityChooser selectEdges2SOEGra "Curve(s)" edgeRebunchList ANY_ENTITY ANY
            frame END       
            dialogSpace 1
            checkItem SfitChkSOEGra "Surface Fitting" SrfFitFlag NULL
            checkItem UpdDispSOEGra "Update display at each step" UpdDispFlag NULL
            checkItem activePartsOnlySOEGra "Active parts only" activePartsOnlyFlag NULL
        exclusiveGroupItem END
        exclusiveGroupItem smoTypeEll "Elliptic"
            frame iterationsSOEEll "Number of iterations"
                integerEntry iterationsSurfEll "On Surface" itersSurf 10 500 1
                integerEntry iterationsVolEll "On Volume" itersVol 0 500 1
            frame END    
            frame smoothTypeSOEST "Smooth Type"
                exclusiveGroup smoothTypeSOESTFa  "Surface" "Method" 6 DROPDOWN
                    exclusiveGroupItem smoothTypeSOESTFaOr "Orthogonality"
                    exclusiveGroupItem END
                    exclusiveGroupItem smoothTypeSOESTFaLa "Laplace"
                    exclusiveGroupItem END
                    exclusiveGroupItem smoothTypeSOESTFaStr "Structured"
                        exclusiveGroup smoothTypeSOESTFaStrMt  "Structured" "Method" 4 DROPDOWN
                            exclusiveGroupItem smoothTypeSOESTFaStrMtSoL "Sorenson/Laplace"
                            exclusiveGroupItem END
                            exclusiveGroupItem smoothTypeSOESTFaStrMtSoT "Sorenson/Thomas&Middlecoff"
                            exclusiveGroupItem END
                            exclusiveGroupItem smoothTypeSOESTFaStrMtHlL "Hilgenstock/Laplace"
                            exclusiveGroupItem END
                            exclusiveGroupItem smoothTypeSOESTFaStrMtHlT "Hilgenstock/Thomas&Middlecoff"
                            exclusiveGroupItem END
                        exclusiveGroup END
                    exclusiveGroupItem END
                exclusiveGroup END
                exclusiveGroup smoothTypeSOESTVl  "Volume" "Method" 6 DROPDOWN
                    exclusiveGroupItem smoothTypeSOESTVlOr "Orthogonality"
                    exclusiveGroupItem END
                    exclusiveGroupItem smoothTypeSOESTVlLa "Laplace"
                    exclusiveGroupItem END
                    exclusiveGroupItem smoothTypeSOESTVlStr "Structured"
                        exclusiveGroup smoothTypeSOESTVlStrMt  "Structured" "Method" 4 DROPDOWN
                            exclusiveGroupItem smoothTypeSOESTVlStrMtSoL "Sorenson/Laplace"
                            exclusiveGroupItem END
                            exclusiveGroupItem smoothTypeSOESTVlStrMtSoT "Sorenson/Thomas&Middlecoff"
                            exclusiveGroupItem END
                            exclusiveGroupItem smoothTypeSOESTVlStrMtHlL "Hilgenstock/Laplace"
                            exclusiveGroupItem END
                            exclusiveGroupItem smoothTypeSOESTVlStrMtHlT "Hilgenstock/Thomas&Middlecoff"
                            exclusiveGroupItem END
                        exclusiveGroup END
                    exclusiveGroupItem END
                exclusiveGroup END
            frame END   
            dialogSpace 1
            exclusiveGroup freezeOptionsCriterionEll "Freeze Options" "Criterion" 1 RADIO freezeCriterion
                exclusiveGroupItem freezeOptionsBoundaryEll "All Surface Boundaries"
                    integerEntry numLayersFreezeSOEEll "Number of layers" numLayersFix 0 100000 1
                exclusiveGroupItem END
                exclusiveGroupItem freezeOptionsPartsGra "Selected Parts"
                    entityChooser freezeLayersSOESelGra "Select part(s)" partFixList PART ANY
                    textButton freezeLayersPartSOEGra "Selected part(s) Options" "onsmoothSOESetSelectedParts fix_layers 1"
                    textEntry freezeLayersSOESelGraSet " " fix_layers_settings INVISIBLE
               exclusiveGroupItem END
            exclusiveGroup END
            frame firstLayerOptionsSOEEll "Release Orthogonality / Initial Height Options"
                entityChooser firstLayerSOESelEll "Select parts(s)" partFirstList PART ANY
                textButton firstLayersPartSOEEll " Selected part(s) Options" "onsmoothSOESetSelectedParts layer_distance 1"
                textEntry firstLayerSOESelEllSet " " layer_distance_settings INVISIBLE
            frame END
            frame edgesRebunch2SOEEll "Smooth along curves"
                radioGroup edgesRebunchSelect2SOEEll "Select" 1 rebunchEdges 0 aie_rebunch_edge_active
                    radioItem edgesRebunchNone2SOEEll "None" 0
                    radioItem edgesRebunchAll2SOEEll "Smooth all curves" 1
                    radioItem edgesRebunchSel2SOEEll "Smooth selected curves" 2
                radioGroup END  
                entityChooser selectEdges2SOEEll "Curve(s)" edgeRebunchList EDGE ANY
            frame END       
            frame  smoothAdvancedEll "Advanced Options"
                    frame expansionSOEEll "Grid expansion"
                        integerEntry expansionSurfSOEEll "On Surface" expansionSurf 0 500 0.1
                        integerEntry expansionVolSOEEll "On volume" expansionVol 0 500 0.1
                    frame END
                    frame treatUnstructSOEEll "Treat unstruct nodes"
                        radioGroup treatUnstructSelSOEEll "Select" 1 treatUnstruct 0 aie_treat_unstruct_active
                            radioItem treatUnstructSelBisSOEEll "Bisector" 0
                            radioItem treatUnstructSelLaplSOEEll "Laplace" 1
                            radioItem treatUnstructSelModLaplSOEEll "Modified Laplace" 2
                        radioGroup END  
                    frame END
                    frame stabilizationSOEEll "Stabilization Factor"
                        integerEntry stabilizationSurfSOEEll "Surface" stabilizeSurf 0 500 0.1
                        integerEntry stabilizationVolSOEEll "Volume" stabilizeVol 0 500 0.1
                    frame END
                    frame useorthoDistanceSOEEll "Use Orthogonal Distance"
                        checkItem useorthoDistSurfSOEEll "Surface" useorthoDistSurf NULL
                        checkItem useorthoDistVolSOEEll "Volume" useorthoDistVol NULL
                    frame END  
                    frame edgesOptionsSOEEll "Define Edges On Part Border Options"
                        entityChooser edgesBorderSOESelEll "Select parts(s)" partBorderList PART ANY
                    frame END
                    frame fixVolumeSurfaceOrientSOEEll "Fix Orientations"
                        checkItem fixVolumeOrientSOEEll "Volume" fixVolOrient NULL
                    frame END
                    checkItem SfitChkSOEEll "Surface Fitting" SrfFitFlag NULL
                    checkItem KpGSOEEll "Keep periodic geometry" KperGeomFlag NULL
                    checkItem activePartsOnlySOEEll "Active parts only" activePartsOnlyFlag "smooth_update_hexahedral_subset"
                    frame iterpostSOEEll "Post smoothing iterations"
                        integerEntry niterpostSOEEll "Number of iterations" niterPost 0 500 1
                        integerEntry literpostSOEEll "limit" limitPost 0 1 0.05
                    frame END
        frame END
        exclusiveGroupItem END
    exclusiveGroup END
endif
endif
ifndef AI_ENV_ALPHA
    frame iterationsSOEEll "Number of iterations"
        integerEntry iterationsSurfEll "On Surface" itersSurf 10 500 1
        integerEntry iterationsVolEll "On Volume" itersVol 0 500 1
    frame END
    textButton smoothRefreshHisto2 "Refresh Histogram" "aie_smooth_update_histogram Quality" 
    frame smoothTypeSOEST "Smooth Type"
        exclusiveGroup smoothTypeSOESTFa  "Surface" "Method" 6 DROPDOWN
                    exclusiveGroupItem smoothTypeSOESTFaOr "Orthogonality"
                    exclusiveGroupItem END
                    exclusiveGroupItem smoothTypeSOESTFaLa "Laplace"
                    exclusiveGroupItem END
                    exclusiveGroupItem smoothTypeSOESTFaStr "Structured"
                        exclusiveGroup smoothTypeSOESTFaStrMt  "Structured" "Method" 4 DROPDOWN
                            exclusiveGroupItem smoothTypeSOESTFaStrMtSoL "Sorenson/Laplace"
                            exclusiveGroupItem END
                            exclusiveGroupItem smoothTypeSOESTFaStrMtSoT "Sorenson/Thomas&Middlecoff"
                            exclusiveGroupItem END
                            exclusiveGroupItem smoothTypeSOESTFaStrMtHlL "Hilgenstock/Laplace"
                            exclusiveGroupItem END
                            exclusiveGroupItem smoothTypeSOESTFaStrMtHlT "Hilgenstock/Thomas&Middlecoff"
                            exclusiveGroupItem END
                        exclusiveGroup END
                    exclusiveGroupItem END
                exclusiveGroup END
                dialogSpace 1
                exclusiveGroup smoothTypeSOESTVl  "Volume" "Method" 6 DROPDOWN
                    exclusiveGroupItem smoothTypeSOESTVlOr "Orthogonality"
                    exclusiveGroupItem END
                    exclusiveGroupItem smoothTypeSOESTVlLa "Laplace"
                    exclusiveGroupItem END
                    exclusiveGroupItem smoothTypeSOESTVlStr "Structured"
                        exclusiveGroup smoothTypeSOESTVlStrMt  "Structured" "Method" 4 DROPDOWN
                            exclusiveGroupItem smoothTypeSOESTVlStrMtSoL "Sorenson/Laplace"
                            exclusiveGroupItem END
                            exclusiveGroupItem smoothTypeSOESTVlStrMtSoT "Sorenson/Thomas&Middlecoff"
                            exclusiveGroupItem END
                            exclusiveGroupItem smoothTypeSOESTVlStrMtHlL "Hilgenstock/Laplace"
                            exclusiveGroupItem END
                            exclusiveGroupItem smoothTypeSOESTVlStrMtHlT "Hilgenstock/Thomas&Middlecoff"
                            exclusiveGroupItem END
                        exclusiveGroup END
                    exclusiveGroupItem END
        exclusiveGroup END
    frame END   
    dialogSpace 1
    exclusiveGroup freezeOptionsCriterionGra "Freeze Options" "Criterion" 1 RADIO freezeCriterion
        exclusiveGroupItem freezeOptionsBoundaryGra "All Surface Boundaries"
            integerEntry numLayersFreezeSOEGra "Number of layers" numLayersFix 0 100000 1
        exclusiveGroupItem END
        exclusiveGroupItem freezeOptionsPartsGra "Selected Parts"
            entityChooser freezeLayersSOESelGra "Select part(s)" partFixList PART ANY
            textEntry freezeLayersSOESelGraSet " " fix_layers_settings INVISIBLE
            textButton freezeLayersPartSOEGra "Selected part(s) Options" "onsmoothSOESetSelectedParts fix_layers 1" 
        exclusiveGroupItem END
    exclusiveGroup END
    frame firstLayerOptionsSOEEll2 "Release Orthogonality / Initial Height Options"
        entityChooser firstLayerSOESelEll "Select parts(s)" partFirstList PART ANY
        textEntry firstLayerSOESelEllSet " " layer_distance_settings INVISIBLE
        textButton firstLayersPartSOEEll " Selected part(s) Options" "onsmoothSOESetSelectedParts layer_distance 1"
    frame END
    frame edgesRebunch2SOEEll "Smooth along curves"
        radioGroup edgesRebunchSelect2SOEEll "Select" 1 rebunchEdges 0 aie_rebunch_edge_active
            radioItem edgesRebunchNone2SOEEll "None" 0
            radioItem edgesRebunchAll2SOEEll "Smooth all curves" 1
            radioItem edgesRebunchSel2SOEEll "Smooth selected curves" 2
        radioGroup END  
        entityChooser selectEdges2SOEEll "Curve(s)" edgeRebunchList EDGE ANY
    frame END       
    dialogSpace 1
    exclusiveGroup smoothAdvancedEll "Advanced Options" "Choose Option" 9 DROPDOWN
        exclusiveGroupItem smoothAdvancedGridExpEll "Grid expansion"
            frame expansionSOEEll "Grid expansion"
                integerEntry expansionSurfSOEEll "On Surface" expansionSurf 0 500 0.1
                integerEntry expansionVolSOEEll "On Volume" expansionVol 0 500 0.1
            frame END
        exclusiveGroupItem END
        exclusiveGroupItem smoothAdvancedtreatUnstructEll "Treat Unstruct Nodes"
            frame treatUnstructSOEEll "Treat Unstruct Nodes"
                radioGroup treatUnstructSelSOEEll "Select" 1 treatUnstruct 0 aie_treat_unstruct_active
                    radioItem treatUnstructSelBisSOEEll "Bisector" 0
                    radioItem treatUnstructSelLaplSOEEll "Laplace" 1
                    radioItem treatUnstructSelModLaplSOEEll "Modified Laplace" 2
                radioGroup END  
            frame END       
        exclusiveGroupItem END
        exclusiveGroupItem smoothAdvancedstabilizationEll "Stabilization Factor"
            frame stabilizationSOEEll "Stabilization Factor"
                integerEntry stabilizationSurfSOEEll "Surface" stabilizeSurf 0 500 0.1
                integerEntry stabilizationVolSOEEll "Volume" stabilizeVol 0 500 0.1
            frame END
        exclusiveGroupItem END
        exclusiveGroupItem smoothAdvanceduseorthoEll "Use Orthogonal Distance"
            frame useorthoDistanceSOEEll "Use Orthogonal Distance"
                checkItem useorthoDistSurfSOEEll "Surface" useorthoDistSurf NULL
                checkItem useorthoDistVolSOEEll "Volume" useorthoDistVol NULL
            frame END        
        exclusiveGroupItem END
        exclusiveGroupItem smoothAdvancedDefEdgEll "Define Edges On Part Border"
            frame edgesOptionsSOEEll "Define Edges On Part Border"
                entityChooser edgesBorderSOESelEll "Select Parts(s)" partBorderList PART ANY
            frame END   
        exclusiveGroupItem END
        exclusiveGroupItem smoothAdvancedfixVolumeSurfaceOrientEll "Fix Orientations"
            frame fixVolumeSurfaceOrientSOEEll "Fix Orientations"
                checkItem fixVolumeOrientSOEEll "Volume" fixVolOrient NULL
            frame END
        exclusiveGroupItem END
        exclusiveGroupItem smoothAdvancediterpostEll "Post smoothing iterations"
            frame iterpostSOEEll "Post smoothing iterations"
                integerEntry niterpostSOEEll "Number of iterations" niterPost 0 500 1
                integerEntry literpostSOEEll "limit" limitPost 0 1 0.05
            frame END
        exclusiveGroupItem END
    exclusiveGroup END
    checkItem SfitChkSOEEll "Surface Fitting" SrfFitFlag NULL
    checkItem FixGeometrySOEEll "Freeze Projected Nodes" fixGeoFlag NULL
    checkItem KpGSOEEll "Keep Periodic Geometry" KperGeomFlag NULL
    checkItem activePartsOnlySOEEll "Active Parts Only" activePartsOnlyFlag NULL
endif

dataEntryDialog END

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

dataEntryDialog checkMeshDEZ "Check Mesh"

	columnMultiSelect checkMeshCMS "Check Mesh"

                cmsColumn "Error"

 			cmsItem "Duplicate element"

 			cmsItem "Uncovered faces"

			cmsItem "Missing internal faces"

			cmsItem "Periodic problems"

			cmsItem "Volume orientations"

 			cmsItem "Surface orientations"

			cmsItem "Hanging elements"

			cmsItem "Penetrating elements"

			cmsItem "Disconnected bar elements"

		cmsColumn END



                cmsColumn "Possible Problems"

 			cmsItem "Multiple edges"

 			cmsItem "Triangle boxes"

 			cmsItem "2 single edges"

 			cmsItem "Single-multiple edges"

 			cmsItem "Stand-alone surface mesh"

 			cmsItem "Single edges"

			cmsItem "Delaunay violation"

			cmsItem "Overlapping elements"

			cmsItem "Non-manifold vertices"

 			cmsItem "Unconnected vertices"

		cmsColumn END

	columnMultiSelect END
	
	dialogSpace 1
	textButton checkMeshDef "Set defaults" aie_check_mesh_defaults
	dialogSpace 1
	radioGroup checkMeshElemRG "Elements to check" 2 checkElems 1 NULL
	    radioItem checkMeshAll "All" "all"
	    radioItem checkMeshVis "Active parts" "active"
	radioGroup END
	dialogSpace 1
	radioGroup checkMeshModeRG "Check mode" 2 checkMode 1 NULL
	    radioItem checkMeshSub "Create subsets" "subset" 
	    radioItem checkMeshFix "Check/fix each" "fix"
	    radioItem checkMeshQuiet "Check/fix each automatically" "fix_quiet"
	radioGroup END
	#checkItem checkMeshAuto "Quiet mode" quietFlag NULL

dataEntryDialog END

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

dataEntryDialog qualityMetricsDEZ "Quality Metrics"
    multiSelect diagMeshMS "Mesh types" EXCLUSIVE
	multiSelectRows
	    "TRI_3"
	    "TETRA_4"
	multiSelectRows END
	multiSelectColumns
	    "Yes"
	    "No"
	multiSelectColumns END
    multiSelect END
    dialogSpace 1
    radioGroup diagMeshElemRG "Elements to check" 2 checkElems 1 NULL
	    radioItem diagMeshAll "All" "all"
	    radioItem diagkMeshAct "Active parts" "active"
	    radioItem diagkMeshVisSubsets "Visible\nsubsets" "visible_subsets"
	    radioItem diagkMeshVis "Visible subsets\nand active parts" "visible"
    radioGroup END
    dialogSpace 1
    textButton smoothRefreshQHisto "Refresh Histogram" "aie_refresh_histogram"
    exclusiveGroup qualDiag "Quality type" "Criterion" 1 DROPDOWN qualdiag
	exclusiveGroupItem diagQuality "Quality"
	exclusiveGroupItem END
	exclusiveGroupItem diagAspectratio "Aspect ratio"
	exclusiveGroupItem END
	exclusiveGroupItem diagAspectFluent "Aspect Ratio (Fluent)"
	exclusiveGroupItem END
	exclusiveGroupItem diagCustom "Custom quality"
	    greyGroup qualangleGG "Angle"
		greyGroupItem qualangle "Angle"
		    frame quadsAngle "Quads"
			textEntry quadsAngleAccMinEntry "Low point"     quad_angle_acc_min NUM
			textEntry quadsAngleDesMinEntry "Minimum value" quad_angle_des_min NUM
			textEntry quadsAngleDesMaxEntry "Maximum value" quad_angle_des_max NUM
			textEntry quadsAngleAccMaxEntry "High point"    quad_angle_acc_max NUM
		    frame END
		    frame TrisAngle "Tris"
			textEntry trisAngleAccMinEntry "Low point"     tri_angle_acc_min NUM
			textEntry trisAngleDesMinEntry "Minimum value" tri_angle_des_min NUM
			textEntry trisAngleDesMaxEntry "Maximum value" tri_angle_des_max NUM
			textEntry trisAngleAccMaxEntry "High point"    tri_angle_acc_max NUM
		    frame END
		greyGroupItem END
	    greyGroup END
		dialogSpace 1
	    greyGroup qualdistortionGG "Distortion"
		greyGroupItem qualdistortion "Distortion"
		    frame quadsDistort "Quads"
			textEntry quadsDistortAccMinEntry "Low point"     quad_distortion_acc_min NUM
			textEntry quadsDistortDesMinEntry "Minimum value" quad_distortion_des_min NUM
			textEntry quadsDistortDesMaxEntry "Maximum value" quad_distortion_des_max NUM
			textEntry quadsDistortAccMaxEntry "High point"    quad_distortion_acc_max NUM
		    frame END
		greyGroupItem END
	    greyGroup END
	    dialogSpace 1
	    greyGroup qualaspectGG "Aspect ratio"
		greyGroupItem qualaspect "Aspect ratio"
		    frame quadsAspect "Quads"
			textEntry quadsAspectAccMinEntry "Low point"     quad_aspect_acc_min NUM
			textEntry quadsAspectDesMinEntry "Minimum value" quad_aspect_des_min NUM
			textEntry quadsAspectDesMaxEntry "Maximum value" quad_aspect_des_max NUM
			textEntry quadsAspectAccMaxEntry "High point"    quad_aspect_acc_max NUM
		    frame END
		    frame trisAspect "Tris"
			textEntry trisAspectAccMinEntry "Low point"     tri_aspect_acc_min NUM
			textEntry trisAspectDesMinEntry "Minimum value" tri_aspect_des_min NUM
			textEntry trisAspectDesMaxEntry "Maximum value" tri_aspect_des_max NUM
			textEntry trisAspectAccMaxEntry "High point"    tri_aspect_acc_max NUM
		    frame END
		greyGroupItem END
	    greyGroup END
	    dialogSpace 1
	    greyGroup qualwarpageGG "Max warp"
		greyGroupItem qualwarpage "Max warp"
		    frame quadsWarp "Quads"
			textEntry quadsWarpAccMinEntry "Low point"     quad_warpage_acc_min NUM
			textEntry quadsWarpDesMinEntry "Minimum value" quad_warpage_des_min NUM
			textEntry quadsWarpDesMaxEntry "Maximum value" quad_warpage_des_max NUM
			textEntry quadsWarpAccMaxEntry "High point"    quad_warpage_acc_max NUM
		    frame END
		greyGroupItem END
	    greyGroup END
	    dialogSpace 1
	    greyGroup qualskewGG "Skew"
		greyGroupItem qualskew "Skew"
		    frame quadsSkew "Quads"
			textEntry quadsSkewAccMinEntry "Low point"     quad_skew_acc_min NUM
			textEntry quadsSkewDesMinEntry "Minimum value" quad_skew_des_min NUM
			textEntry quadsSkewDesMaxEntry "Maximum value" quad_skew_des_max NUM 
			textEntry quadsSkewAccMaxEntry "High point"    quad_skew_acc_max NUM
		    frame END
		    frame TrisSkew "Tris"
			textEntry trisSkewAccMinEntry "Low point"     tri_skew_acc_min NUM
			textEntry trisSkewDesMinEntry "Minimum value" tri_skew_des_min NUM
			textEntry trisSkewDesMaxEntry "Maximum value" tri_skew_des_max NUM 
			textEntry trisSkewAccMaxEntry "High point"    tri_skew_acc_max NUM
		    frame END
		greyGroupItem END
	    greyGroup END
	    dialogSpace 1
	    greyGroup qualminsideGG "Min edge"
		greyGroupItem qualminside "Min edge"
		    frame quadsMinside "Quads"
			textEntry quadsMinsideAccMinEntry "Low point"     quad_minside_acc_min NUM
			textEntry quadsMinsideDesMinEntry "Minimum value" quad_minside_des_min NUM
			textEntry quadsMinsideDesMaxEntry "Maximum value" quad_minside_des_max NUM 
			textEntry quadsMinsideAccMaxEntry "High point"    quad_minside_acc_max NUM
		    frame END
		    frame trisMinside "Tris"
			textEntry trisMinsideAccMinEntry "Low point"     tri_minside_acc_min NUM
			textEntry trisMinsideDesMinEntry "Minimum value" tri_minside_des_min NUM
			textEntry trisMinsideDesMaxEntry "Maximum value" tri_minside_des_max NUM 
			textEntry trisMinsideAccMaxEntry "High point"    tri_minside_acc_max NUM
		    frame END
		greyGroupItem END
	    greyGroup END
	    greyGroup qualsurfdevGG "Surface dev"
		greyGroupItem qualsurfdev "Surface dev"
		    frame quadsSurfdev "Quads"
			textEntry quadsSurfdevAccMinEntry "Low point"     quad_surfdev_acc_min NUM
			textEntry quadsSurfdevDesMinEntry "Minimum value" quad_surfdev_des_min NUM
			textEntry quadsSurfdevDesMaxEntry "Maximum value" quad_surfdev_des_max NUM 
			textEntry quadsSurfdevAccMaxEntry "High point"    quad_surfdev_acc_max NUM
		    frame END
		    frame trisSurfdev "Tris"
			textEntry trisSurfdevAccMinEntry "Low point"     tri_surfdev_acc_min NUM
			textEntry trisSurfdevDesMinEntry "Minimum value" tri_surfdev_des_min NUM
			textEntry trisSurfdevDesMaxEntry "Maximum value" tri_surfdev_des_max NUM 
			textEntry trisSurfdevAccMaxEntry "High point"    tri_surfdev_acc_max NUM
		    frame END
		greyGroupItem END
	    greyGroup END
	exclusiveGroupItem END
	exclusiveGroupItem diagDeterminant "Determinant"
	exclusiveGroupItem END
	exclusiveGroupItem diagDistortion "Distortion"
	exclusiveGroupItem END
	exclusiveGroupItem diagElementStr "Element stretch"
	exclusiveGroupItem END
	exclusiveGroupItem diagEqSkew "Equiangle Skewness"
	exclusiveGroupItem END
	exclusiveGroupItem diagOppFord "Ford"
	exclusiveGroupItem END
	exclusiveGroupItem diagTacAspR "Hex. Face Aspect Ratio"
	exclusiveGroupItem END
	exclusiveGroupItem diagTacDist "Hex. Face Distortion"
	exclusiveGroupItem END
	exclusiveGroupItem diagMaxangle "Max angle"
	exclusiveGroupItem END
	exclusiveGroupItem diagMinangle "Min angle"
	exclusiveGroupItem END
	exclusiveGroupItem diagMaxdihedralangle "Max dihedral angle"
	exclusiveGroupItem END
	exclusiveGroupItem diagMaxlength "Max length"
	exclusiveGroupItem END
	exclusiveGroupItem diagMaxortho "Max ortho"
	exclusiveGroupItem END
	exclusiveGroupItem diagMinortho "Min ortho"
	exclusiveGroupItem END
	exclusiveGroupItem diagMaxorthogls "Max orthogls"
	exclusiveGroupItem END
	exclusiveGroupItem diagMaxratio "Max ratio"
	exclusiveGroupItem END
	exclusiveGroupItem maxSectorVolume "Max sector volume"
	exclusiveGroupItem END
	exclusiveGroupItem minSectorVolume "Min sector volume"
	exclusiveGroupItem END
	exclusiveGroupItem diagMaxside "Max side"
	exclusiveGroupItem END
	exclusiveGroupItem diagMinside "Min side"
	exclusiveGroupItem END
	exclusiveGroupItem diagMinside2 "Min side (Quad Optimized)"
	exclusiveGroupItem END
	exclusiveGroupItem diagMaxWarp "Max warp"
	exclusiveGroupItem END
	exclusiveGroupItem diagMaxWarpgls "Max warpgls"
	exclusiveGroupItem END
	exclusiveGroupItem diagDistribution "Mesh Distribution"
	    entityChooser diagDistributionStart "Start Point" ptStart POINTORXYZ 1
	    entityChooser diagDistributionEnd "End Point" ptEnd POINTORXYZ 1
	    dropDownEntry diagDistributionType "Distribution" distributionList distributionType FALSE
	exclusiveGroupItem END
	exclusiveGroupItem MshExpansionFactor "Mesh expansion factor"
	exclusiveGroupItem END
	exclusiveGroupItem diagMidnode "Mid node"
	exclusiveGroupItem END
	exclusiveGroupItem diagMidnodeAngle "Mid node Angle"
	exclusiveGroupItem END
	exclusiveGroupItem diagOppFaceArea "Opp. Face Area Ratio"
	exclusiveGroupItem END
	exclusiveGroupItem diagOppFacePar "Opp. Face Parallelism"
	exclusiveGroupItem END
	exclusiveGroupItem diagOrientation "Orientation"
	exclusiveGroupItem END
	exclusiveGroupItem diagOrthogonalQuality "Orthogonal Quality"
	exclusiveGroupItem END
	exclusiveGroupItem diagPrismTh "Prism thickness"
	exclusiveGroupItem END
	exclusiveGroupItem diagQuadev "Quadratic dev"
	exclusiveGroupItem END
	exclusiveGroupItem diagSkew "Skew"
	exclusiveGroupItem END
	exclusiveGroupItem diagTGridSkew "TGrid Skew"
	exclusiveGroupItem END
	exclusiveGroupItem diagSurfaceArea "Surface area"
	exclusiveGroupItem END
	exclusiveGroupItem diagSurfacedev "Surface dev"
	exclusiveGroupItem END
	exclusiveGroupItem diagTaper "Taper"
	exclusiveGroupItem END
	exclusiveGroupItem diagTetra "Tetra Special"
	exclusiveGroupItem END
	exclusiveGroupItem diagVolume "Volume"
	exclusiveGroupItem END
	exclusiveGroupItem diagVolumeChange "Volume change"
	exclusiveGroupItem END
	exclusiveGroupItem diagVolumeAreaLength "Volume/Area/Length"
	exclusiveGroupItem END
	exclusiveGroupItem diagWorkbenchShape "Workbench Shape"
	exclusiveGroupItem END
	exclusiveGroupItem diagXsize "X size"
	exclusiveGroupItem END
	exclusiveGroupItem diagYsize "Y size"
	exclusiveGroupItem END
	exclusiveGroupItem diagZsize "Z size"
	exclusiveGroupItem END
    exclusiveGroup END

dataEntryDialog END

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

dataEntryDialog repairMeshDEZ "Repair Mesh"

    exclusiveGroup repairMeshRG "Mesh Repair Tools" "Method" 6 ICON

	exclusiveGroupItem repairMeshBT "Build Mesh Topology (key = b)" E_MeshTopo$icon_size2.gif
		frame repairMeshRMsel2 "Build Mesh Topology"
		    greyGroup createBuilTopoAngBar " "
			greyGroupItem createBuilTopoAngG "Angle"
         		    textEntry createBuilTopoAngM "Angle" topoang NUM
			greyGroupItem END
			greyGroupItem createBuilTopoBarG "Create bars between shell Parts" 
#			    checkItem createBuilTopoBarF "Create bars between shell Parts" topo_bar_fam NULL
			greyGroupItem END
		    greyGroup END
	 	    greyGroup BTMesh "Selected elements"
			greyGroupItem BTMeshreg " "
			    entityChooser BTMeshPick "Elements" BTMeshList ELEM ANY 
			greyGroupItem END
		    greyGroup END
      		frame END
	exclusiveGroupItem END #0

	exclusiveGroupItem repairMeshRM "Remesh Elements (key = r)" E_Remesh$icon_size2.gif
	    frame repairMeshRMsel "Remesh Elements"
		dropDownEntry repairElType0 "Mesh type"  typeList elType FALSE
		entityChooser repairMeshElemsPick "Elements" remeshList ELEM ANY 
		dropDownEntry repairPartName "Part" remeshPartList remesh_part FALSE
		checkItem surfProjChk "Surface projection" repairSurfProjFlag NULL
		checkItem ignoreDimChk1 "Ignore projection" ignoreDimFlag NULL
		integerEntry offsetLayersChk "Number of offset layers" offsetLayerFlag 0 100 1
		textEntry offsetHeightChk "Offset height factor" offsetHeightFlag NUM
        dropDownEntry offsetSimple "Offset type" OffsetList offsetSimpleFlag FALSE
ifdef QUAD_DEBUG
        integerEntry repairMeshDebug "Debug level" repairMeshdb -1 5 1
endif
	    frame END

# Instead of this, combining this with above, if mesh type is tetra.
#        exclusiveGroupItem repairMeshRSS "Remesh Subset" E_RemeshSubset$icon_size2.gif
#            frame repairMeshRSSsel "Remesh Subset With Tetrahedra"
#                dropDownEntry repairMeshRSSsubset "Subset" SubsetList subset FALSE
#                dropDownEntry repairMeshRSSpart "Part Name" PartList family FALSE
#            frame END
#        exclusiveGroupItem END #3

	exclusiveGroupItem END #1


        exclusiveGroupItem repairMeshRMB "Remesh Bad Elements (key = Ctrl-r)" E_RemeshByQuality$icon_size2.gif
            frame repairMeshRMBsel "Remesh Bad Elements"
                dropDownEntry repairElType1 "Mesh type" typeList elType FALSE
                entityChooser repairMeshBadElemsPick "Elements" remeshList ELEM ANY 
                checkItem surfProjChk2 "Surface projection" repairSurfProjFlag NULL
                checkItem ignoreDimChk2 "Ignore projection" ignoreDimFlag NULL
                dropDownEntry repairQualityMetric "Quality metric" qualityList qualityMetric FALSE
                integerEntry uptoQuality "Up to quality" upto 0.1 1 0.1
                integerEntry maxSteps "Max iterations" maxSteps 1 10000 1
            frame END
        exclusiveGroupItem END #2

	exclusiveGroupItem fixHoleMesh "Find/Close Holes" E_MeshHoles$icon_size2.gif
	    frame fixHoleMeshsel "Find/Close holes in mesh"
		dropDownEntry repairElType2 "Mesh Type"  typeList elType FALSE
		entityChooser fixHoleMeshElemsPick "Elements" remeshList ELEM ANY
		checkItem surfProjChk3 "Surface projection" repairSurfProjFlag NULL
		checkItem geoId "Part from geometry" repairGeoIdFlag NULL
	    frame END
	exclusiveGroupItem END #3


        exclusiveGroupItem closeHoleMesh "Mesh from Edges (key = e)" E_MeshFromEdges$icon_size2.gif
            frame closeHoleMeshsel "Mesh from edges"
                dropDownEntry repairElType3 "Mesh type"  typeList elType FALSE
                entityChooser closeHoleMeshElemsPick "Edges" remeshList EDGE ANY
                checkItem surfProjChk4 "Surface projection" repairSurfProjFlag NULL
ifdef QUAD_DEBUG
                integerEntry surfCompChk4 "Single loop & complete edges" repairSurfCompEdgeFlag 0 2 1
endif
ifndef QUAD_DEBUG
                checkItem surfCompChk4 "Single loop & complete edges" repairSurfCompEdgeFlag NULL
endif
                checkItem interpolSurfChk4 "Interpolation surface" repairInterPolFlag NULL
                checkItem KeepConsistSurfChk4 "Keep volume consistent" KeepConsistentFlag NULL
ifdef QUAD_DEBUG
                integerEntry closeHoleDebug "Debug level" debug -1 5 1
endif
	    frame END

	exclusiveGroupItem END #4


        exclusiveGroupItem stitchEdgeMesh "Stitch Edges" E_StitchEdges$icon_size2.gif
            frame stitchEdgeMeshsel "Stitch Edges"
                entityChooser stitchEdgeMeshElemsPick "Edges" remeshList EDGE ANY
                integerEntry stitchEdgesTo "Rel. merge tolerance" mergetol 0 0.4 0.05
                checkItem mergeEndNodes5 "Merge end nodes" mergeEndNodesFlag NULL
ifdef QUAD_DEBUG
                integerEntry stitchEdgesDebug "Debug level" debug -1 5 1
endif
            frame END

	exclusiveGroupItem END #5


        exclusiveGroupItem smoothLocalMesh "Smooth Surface Mesh" E_SmoothMesh$icon_size2.gif

            frame smoothLocalMeshsel "Smooth Surface Mesh"
                entityChooser smoothLocalMeshElemsPick "Elements" remeshList 2D_EL ANY
                integerEntry smoothIters "Max iterations" smoothIters 1 500 1
                integerEntry smoothAccracy "Accuracy" smoothAcc .0 0.1 .001
                dialogSpace 1
ifdef AI_ENV_BETA
                exclusiveGroup smoothMeshOpt "Smoothing method" "Choose" 2 DROPDOWN smooth_opt_method
                    exclusiveGroupItem smoothMeshOpt1 "Laplacian/isoparametric"
endif
                        integerEntry smoothW "Isoparametric" smoothW .0 1 .01
ifdef AI_ENV_BETA
                    exclusiveGroupItem END
                    exclusiveGroupItem smoothMeshOpt2 "Optimization-based smoothing"
                        dropDownEntry smoothQualityMetric "Quality metric" qualityList2 qualityMetric2 FALSE
                        integerEntry smoothuptoQuality "Up to quality" upto2 0.1 1 0.1
                    exclusiveGroupItem END
                exclusiveGroup END
endif
                checkItem smoothProj "Surface projection" surfProjFlag NULL
                checkItem smoothBoundary "Smooth boundaries" smoothB NULL
ifdef QUAD_DEBUG
                integerEntry smoothDebug "Debug level" debug 0 5 1
endif
            frame END

	exclusiveGroupItem END #6

	exclusiveGroupItem floodFillMesh "Flood Fill/Make Consistent" E_FloodFill$icon_size2.gif
		frame floodFillMeshEl "Flood Fill/Make Consistent"

		checkItem floodFillMeshFF "Flood fill" FloodFillFlag NULL

		checkItem floodFillMeshMC "Make volume mesh consistent with surface mesh" \
				    KeepConsistentFlag aie_update_keep_consistent
		greyGroup  keepConsTypeGG "Elements"
			greyGroupItem keepConstAll "All"
			greyGroupItem END
			greyGroupItem keepConsSel "Selected"
			   entityChooser keepConsSelPick "Elements" keepConsElemList ELEM ANY
			greyGroupItem END
		greyGroup END


      		frame END

	exclusiveGroupItem END #7

	exclusiveGroupItem setProjPart "Associate Mesh" G_AssocMeshSurf$icon_size2.gif
	    frame setProjFamilyFR "Associate Mesh with Geometry"
		entityChooser setAssocElemsPick "Elements" setAssocElemList ELEM ANY
	    frame END
	exclusiveGroupItem END #8

 	exclusiveGroupItem enforceNode "Enforce Node, Remesh" E_EnforceNode$icon_size2.gif
 	    frame enforceNodeFR "Enforce Node, Remesh"
	    dropDownEntry repairElType10 "Mesh type" typeList elType FALSE
	    checkItem surfProjChk10 "Surface projection" repairSurfProjFlag NULL
	    checkItem ignoreDimChk10 "Ignore projection" ignoreDimFlag NULL
	    checkItem consistentChk10 "Keep volume consistent" KeepConsistentFlag NULL
	    dialogSpace 1
	    exclusiveGroup enforceNodeMethod "Selection Method" "Method" 2 DROPDOWN
	        exclusiveGroupItem enforceByNode "By Node"
	            entityChooser enforceNodePick "Select Node" nodeList NODE 1
	        exclusiveGroupItem END
	        exclusiveGroupItem enforceByPoint "By Point"
	           entityChooser enforcePointPick "Select Point" pointList POINT 1
	           entityChooser enforcePartsPick "Part Name for Node Element" partList PART 1
	        exclusiveGroupItem END
	    exclusiveGroup END
	    frame END
	exclusiveGroupItem END #9

	exclusiveGroupItem MakeRemPeriodic "Make/Remove Periodic" E_PeriodicNodes$icon_size2.gif
	    exclusiveGroup makeRemPerGr "Make/Remove Periodic" "Make/Remove" 2 DROPDOWN
		exclusiveGroupItem makePerBut "Make periodic"
ifdef AI_ENV_BETA
		    exclusiveGroup makePerButGr "Type" "Choose" 2 RADIO
			exclusiveGroupItem makePerButMan "Manual (by Nodes)"
			    entityChooser makeManPeriodicPick "Nodes" nodeList NODE ANY
			exclusiveGroupItem END
			exclusiveGroupItem makePerButMan2 "Manual (by Elements)"
			    entityChooser makeManPeriodicPick2 "Elements" elemList2 ELEM ANY
			exclusiveGroupItem END
			exclusiveGroupItem makePerButAut "Auto"
			    entityChooser makeAutPeriodicPick "Elements" elemList ELEM ANY
#			    entityAddRemover makeAutPeriodicPick "Elementsxx" elemList ELEM ANY
#			    textButton OBlkClearSelBut "Clear Selected" aie_clear_ogrid_sel
			exclusiveGroupItem END
		    exclusiveGroup END
endif
ifndef AI_ENV_BETA
		    entityChooser makeManPeriodicPick "Nodes" nodeList NODE 2
endif
		exclusiveGroupItem END
		exclusiveGroupItem remPerBut "Remove periodic"
		    entityChooser RemPeriodicPick "Nodes" nodeList NODE ANY
		exclusiveGroupItem END
	    exclusiveGroup END
	exclusiveGroupItem END

	exclusiveGroupItem MarkBoundedVolume "Mark Enclosed Elements" E_MarkEnclosed$icon_size2.gif
		frame MarkBoundedVolumeFr "Mark Enclosed Elements"
			entityChooser EnclosedSurfsPick "Enclosed Surfaces" enclSurfs SURF ANY
			entityChooser MarkMatlsPick "Material Points/Bodies" bodyList BODY ANY
			checkItem MarkOnlyVolume "Only volume elements" onlyVolumeFlag NULL
		frame END
	exclusiveGroupItem END

exclusiveGroup END

#textEntry featureSizeEntry "Ignore Feature Size" reapirIgnorSize NUM

#checkItem completeEdgesChk "Complete Edges" reapirCompleteEdgeFlag NULL

#checkItem interpolSurfChk "Interpolation Surface" reapirInterPolFlag NULL

#checkItem surfProjChk "Surface Projection" reapirSurfProjFlag NULL


dataEntryDialog END

#-----------------------------------------------------------------------------
dataEntryDialog refineMeshDEZ "Refine Mesh"
#not used
	#frame refineMeshFrame "Refine Mesh"

	dialogSpace 1

	radioGroup refineMeshRG "Refine Mesh" 2 refineopt 1 NULL
	  radioItem refineAllVisBut "Refine All Visible" "refineVis"
	  radioItem refineSelectBut "Refine Selected" "refineSelect"
	radioGroup END

	textEntry refStepsEntry "Max Refinement Steps" refSteps NUM
	checkItem refMeshprojChk "Project Nodes" refineMeshProjFlag NULL

	#frame END		

dataEntryDialog END
#-----------------------------------------------------------------------------
dataEntryDialog coarsenMeshDEZ "Coarsen Mesh"
dialogSpace 1

    frame coarsenMeshFrame "Coarsen Mesh"
        textEntry coarsMinAspEntry "Min Aspect Ratio" coarsMinAsp NUM 
        textEntry coarsMaxSizeEntry "Max Size" coarsMaxSize NUM 
        textEntry coarsNumIterEntry "Number of Iterations" coarsNumIter NUM 
        checkItem coarsenSurfChk "Coarsen Surface" coarseSurfFlag NULL
        checkItem coarsenSizeChk "Maintain Surface Sizes" checkSizeFlag NULL
        textEntry coarMaxDevEntry "Max Surface Deviation" coarsmaxDev NUM
    frame END
    columnMultiSelect coarsenMeshCMS "Coarsen Fix Families"
        cmsColumn "Frozen Families"
                cmsItem "ORFN"
        cmsColumn END
    columnMultiSelect END

dataEntryDialog END

#------------------------------------------------------------------------------
dataEntryDialog renumberMeshDEZ "Renumber Mesh"
    exclusiveGroup renumberMeshEG "Renumber Method" "Method" 2 ICON
	exclusiveGroupItem renumberUserDefRM "User Defined" E_Renumber$icon_size2.gif
	    frame renumberUserDefFR "User Defined"
		  checkItem renumElems "Renumber Elements" doElems NULL
		  textEntry renumStartE "Starting element number" startEnum TEXT
		  textEntry renumRangeE "Element number range" rangee READONLY
		  checkItem renumNodes "Renumber Nodes" doNodes NULL
		  textEntry renumStartN "Starting node number   " startNnum TEXT
		  textEntry renumRangeN "Node number range   " rangen READONLY
                  dialogSpace 1
                  exclusiveGroup renumSel "Method" "Select" 3 DROPDOWN
                      exclusiveGroupItem renumMethodPart "By Parts"
                      exclusiveGroupItem END
                      exclusiveGroupItem renumMethodAll "All elements/nodes"
                      exclusiveGroupItem END
                      exclusiveGroupItem renumMethodElem "Selected elements"
                          entityChooser renumSelPick "Elements" renumList ELEM ANY "fast_parts"
                      exclusiveGroupItem END
                      exclusiveGroupItem renumMethodNode "Selected nodes"
                          entityChooser renumSelPick2 "Nodes" renumList NODE ANY
                      exclusiveGroupItem END
                  exclusiveGroup END
                  greyGroup renumDir "Direction"
	          greyGroupItem renumDirFrame " "
	            textEntry renumVec " " renumVec TEXT
                  greyGroupItem END
                  greyGroup END
                  checkItem renumSkip0 "Skip 0-numbered Elements and Nodes" skip0Flag NULL
	    frame END
        exclusiveGroupItem END
	exclusiveGroupItem bandwidthRM "Optimize Bandwidth" E_Renum_Bandwidth$icon_size2.gif
	    frame renumberBandwidthFR "Bandwidth"
                  textEntry bandwidthiter "Iterations" iterations TEXT
	    	  radioGroup bandwidthtypeRG "Optimize" 1 bandwidthtype 1 NULL
		    radioItem profileBut "Profile" "profile"
		    radioItem bandwidthBut  "Bandwidth" "bandwidth"
	    	  radioGroup END
	    frame END
        exclusiveGroupItem END
    exclusiveGroup END
dataEntryDialog END

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

#------------------------------------------------------------------------------
dataEntryDialog thicknessMeshDEZ "Adjust Mesh Thickness"
    exclusiveGroup AMT "Thickness" "Method" 3 DROPDOWN
	exclusiveGroupItem AMT1   "Calculate" 
            greyGroup doSolidGG "Calculate from solid"
                  greyGroupItem doSolidGI " "
                    entityChooser doSolidPick "Parts" partsurfList PART ANY
                    checkItem doSolidPiercing "Piercing" piercingFlag NULL
                  greyGroupItem END
	    greyGroup END
	exclusiveGroupItem END #0
	exclusiveGroupItem AMT2   "Remove" 
	exclusiveGroupItem END #1
	exclusiveGroupItem AMT3   "Modify selected nodes" 
	    entityChooser AMT3_nodes "Nodes" nodes NODE ANY
	    textEntry AMT3_thick "Thickness" thickness NUM
	exclusiveGroupItem END #1
    exclusiveGroup END
dataEntryDialog END

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



dataEntryDialog reorientMeshDEZ "Re-orient Mesh"
    exclusiveGroup reorientElemsEG "Reorient Elements" "Method" 4 ICON
      exclusiveGroupItem reorientVolume "Reorient Volume" E_VolumeNormal$icon_size2.gif
  	frame reorientVolFrame "Reorient Volume"
	  checkItem reorientOutwardChk "Outwards" reorientOutwardFlag NULL
	frame END
      exclusiveGroupItem END

      exclusiveGroupItem reorientConsistent "Reorient Consistent" E_ConsistentNormals$icon_size2.gif
  	frame reorientConsFrame "Reorient Consistent"
ifdef AI_ENV_BETA
	  checkItem reorientConsElemChk "Reverse element direction before" reorientConsFlag NULL
endif
	  entityChooser reorientConsElemPick "Consistent with element" elemList  2D_EL 1
	  checkItem reorientConsElemVis "Active parts" reorientConsVis NULL
	frame END
      exclusiveGroupItem END
 
      exclusiveGroupItem reorientReverse "Reverse Direction" E_ReverseNormal$icon_size2.gif
  	frame reorientRevFrame "Reverse Direction"
	  entityChooser reorientElemsPick "Elements" elemList  2D_EL ANY
	  checkItem reorientConsElemVisFlag "Filter by Screen Normal" filterflag NULL
	frame END
      exclusiveGroupItem END

      exclusiveGroupItem reorientDirection "Reorient Direction" E_NormalVector$icon_size2.gif
  	frame reorientDirFrame "Reorient Direction"
	  textEntry reorientDirEntry "Direction" reorientDir TEXT
	frame END
      exclusiveGroupItem END

      exclusiveGroupItem reorientLine "Reverse Line Element Direction" E_RevDir$icon_size2.gif
  	frame reorientLineFrame "Reverse Line Element Direction"
	  entityChooser reorientLinesPick "Elements" elemList 1D_EL ANY
	frame END
      exclusiveGroupItem END

      exclusiveGroupItem reorientVolIJK "Change Element IJK" \
				B_IJK2KJI$icon_size2.gif
	exclusiveGroup reorientVolIJKHow "Change Element IJK" "Method" 2 DROPDOWN
	  exclusiveGroupItem reorientVolIJKM1 "IJK->KIJ"
	    entityChooser reorientVolIJKM1Pick "Element(s)" elemList ELEM ANY
	  exclusiveGroupItem END	

	  exclusiveGroupItem reorientVolIJKM2 "Set Origin"
	    entityChooser reorientVolIJKM2Pick "Element" elemList ELEM 1
	    entityChooser reorientVolVertexPick "Node" vert NODE 1
	  exclusiveGroupItem END

	  exclusiveGroupItem reorientVolIJKM3 "Align Element"
	    entityChooser reorientVolIJKM3Pick "Reference Element" elemList \
			ELEM 1
	  exclusiveGroupItem END

	  exclusiveGroupItem reorientVolSetIJK "Set IJK"
	    entityChooser reorientVolSetIJKPick "Element(s)" elemList ELEM ANY
	    multiSelect setVolumeIJKMS "Set IJK" EXCLUSIVE
	      multiSelectRows
	        "Set I"
	        "Set J"
	        "Set K"
	      multiSelectRows END
	      multiSelectColumns
	        "I"
	        "J"
	        "K"
	      multiSelectColumns END
	    multiSelect END
	  exclusiveGroupItem END
	exclusiveGroup END
      exclusiveGroupItem END #5

    exclusiveGroup END
dataEntryDialog END



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


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

# Here is the contact stuff


dataEntryDialog contactMeshDEZ "Mesh Contact Sets"
    frame contactMeshFrame "Mesh Contact Sets"
	textEntry contactMeshName "Set Name" name TEXT
	textEntry contactMeshDist "Distance" dist NUM
    frame END
dataEntryDialog END


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

dataEntryDialog paraMeshDEZ "Associate/Update Mesh with Geometry"
    radioGroup parameshRG "Action" 1 paramesh_action 1 NULL
	radioItem parameshAssociate "Associate mesh" "associate"
	radioItem parameshUpdate "Update mesh" "update"
    radioGroup END
dataEntryDialog END



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

dataEntryDialog modifyDistributedDEZ "Edit Distributed Attribute" 
  entityChooser modifyDistributedPick "Elements" elemList ELEM ANY
  dropDownEntry modifyDistributedName "Attribute" fieldNames field FALSE
  textEntry modifyDistributedValue "Value" value NUM
  textEntry modifyDistributedDefault "Default" default NUM
dataEntryDialog END

dataEntryDialog extrudeMeshDEZ "Extrude Mesh"
    entityChooser extMeshElems "Elements" elemList ELEM ANY
    dropDownEntry  extrudeMeshVolPart "New volume part name" PartList extVolPartName FALSE
    dropDownEntry  extrudeMeshSidePart "New side part name" PartList extSidePartName FALSE
    dropDownEntry  extrudeMeshTopPart "New top part name" PartList extTopPartName FALSE
    dialogSpace 1
    exclusiveGroup extrudeMeshEG "Extrude mesh" "Method" 4 DROPDOWN
	exclusiveGroupItem extMeshNormal "Extrude by element normal"
	    frame extrudeMeshFrame1 "Extrude By Element Normal"
		integerEntry extMeshNumLayTE "Number of layers" extNumLay 1 100000 1
		checkItem extNormreverseNormDirChk "Reverse direction" revDirFlag NULL
		radioGroup extNormSpaceType "Spacing type" 2 spaceType 0 DummyProc
		    radioItem extNormSpaceFixed "Fixed" "fixed"
		    radioItem extNormSpaceFunc "Function" "func"
		radioGroup END
		textEntry extMeshNumSpacTE1 "Spacing" extNumSpace NUM
	    frame END
    frame deleteElemChkF0 "Delete options"
	greyGroup deleteElemChk0 "Delete original elements"
	    greyGroupItem deleteElemChkG0 " "
		checkItem deleteElemChkUnc0 "No uncovered faces after delete" delElemFlagCov0 NULL
	    greyGroupItem END
	greyGroup END
    frame END
	exclusiveGroupItem END
	exclusiveGroupItem extMeshCurve "Extrude along curve"
	    frame extrudeMeshFrame3 "Extrude Along Curve"
		entityChooser extMeshCurvePick "Extrude curve" extCurve CURVE 1
		checkItem extMeshCurveDir "Show curve directions" CurveDirFlag aie_extMesh_check_curve_dir
		checkItem sectionOrientation "Orient axially" orientFlag NULL
		checkItem reverseCurveDirChk "Reverse curve direction" revDirFlag NULL
		checkItem extMeshProject "Project to geometry" extProjFlag NULL
		integerEntry extMeshNumLayTE2 "Number of layers" extNumLay 1 100000 1
		textEntry extMeshTwist "Twist per layer" extTwist NUM
		dialogSpace 1
		radioGroup extCurveSpaceType "Spacing type" 2 spaceType 0 DummyProc
		    radioItem extCurveSpaceFixed2 "Fixed" "fixed"
		    radioItem extCurveSpaceFunc2 "Curve bunching" "bunching"
		radioGroup END
		#textEntry extMeshNumSpacTE2 "Spacing" extNumSpace NUM
	    frame END
    frame deleteElemChkF1 "Delete options"
	greyGroup deleteElemChk1 "Delete original elements"
	    greyGroupItem deleteElemChkG1 " "
		checkItem deleteElemChkUnc1 "No uncovered faces after delete" delElemFlagCov1 NULL
	    greyGroupItem END
	greyGroup END
    frame END
	exclusiveGroupItem END
	exclusiveGroupItem extMeshVector "Extrude by vector"
	    frame extrudeMeshFrame2 "Extrude By Vector"
	    
  		exclusiveGroup extMeshVectorEG "Direction" "Method" 1 RADIO
            exclusiveGroupItem extMeshVectorEGOff "Explicit vector"
                textEntry extMeshVectorTE "Vector" extVector TEXT
    		exclusiveGroupItem END

    	    exclusiveGroupItem extMeshVectorEG2P "Vector by points"
      		    dialogSpace 1
                entityChooser extMeshVectorPPick "2 points" axisElemList  POINTORXYZ 2
      	    exclusiveGroupItem END
  	    exclusiveGroup END
	    
		#textEntry extMeshVectorTE "Vector" extVector TEXT
		
		integerEntry extMeshNumLayTE3 "Number of layers" extNumLay 1 100000 1
		dialogSpace 1
		radioGroup extVecSpaceType "Spacing type" 2 spaceType 0 DummyProc
		    radioItem extVecSpaceFixed "Fixed" "fixed"
		    radioItem extVecSpaceFunc "Function" "func"
		radioGroup END
		textEntry extMeshNumSpacTE3 "Spacing" extNumSpace NUM
	    frame END
    frame deleteElemChkF2 "Delete options"
	greyGroup deleteElemChk2 "Delete original elements"
	    greyGroupItem deleteElemChkG2 " "
		checkItem deleteElemChkUnc2 "No uncovered faces after delete" delElemFlagCov2 NULL
	    greyGroupItem END
	greyGroup END
    frame END
	exclusiveGroupItem END
	exclusiveGroupItem extMeshRotate "Extrude by rotation"
	    exclusiveGroup ElemExtRotateAxisOptionEG "Rotation " "Axis" 2 RADIO
           	exclusiveGroupItem ElemExtRotateAxisOptionX "X"
           	exclusiveGroupItem END
           	exclusiveGroupItem ElemExtRotateAxisOptionY "Y"
           	exclusiveGroupItem END
           	exclusiveGroupItem ElemExtRotateAxisOptionZ "Z"
           	exclusiveGroupItem END
           	exclusiveGroupItem ElemExtRotateAxisOptionV "Vector"
		    entityChooser ElemExtRotateAxis2PPick "2 points" axisElemList POINTORXYZ 2
           	exclusiveGroupItem END
	    exclusiveGroup END
        dialogSpace 1
	    exclusiveGroup ElemExtRotateCenterEG "Center of Rotation" "Center point" 1 DROPDOWN
		exclusiveGroupItem ElemExtRotateOrigin "Origin"
		exclusiveGroupItem END
		exclusiveGroupItem ElemExtRotateUsrPoint "Selected point"
		    entityChooser ElemExtRotateCenterPnt "Location" rotateCenterPnt POINTORXYZ 1
		exclusiveGroupItem END
	    exclusiveGroup END
	    greyGroup extMeshRotateTrans "Translate"
		greyGroupItem extMeshRotateTransV " "
		    textEntry extMeshRotateTransSP "Spacing" spacing_transl_rot NUM
		    
  		exclusiveGroup extMeshRotateTransEG "Direction" "Method" 1 RADIO
            exclusiveGroupItem extMeshRotateTransEGOff "Explicit vector"
                textEntry extMeshRotateTransVE "Vector" trans_rot_vec NUM
    		exclusiveGroupItem END
    	    exclusiveGroupItem extMeshRotateTransEG2P "Vector by points"
      		    dialogSpace 1
                entityChooser extMeshRotateTransPPick "2 points" axisElemList  POINTORXYZ 2
      	    exclusiveGroupItem END
  	    exclusiveGroup END
		    
		    #textEntry extMeshRotateTransVE "Vector" trans_rot_vec NUM
		greyGroupItem END
	    greyGroup END
		textEntry extRotateAngle "Angle per layer" extRotateAngle NUM
		integerEntry extMeshNumLayTE4 "Number of layers" extNumLay 1 100000 1
		checkItem mergeEndsChk "Merge degenerated elements" mergeEndFlag aie_select_merge_degen
		textEntry extDegenTol "Degeneration tolerance" degenerationTol NUM
        frame deleteElemChkF3 "Delete options"
	    greyGroup deleteElemChk3 "Delete original elements"
	        greyGroupItem deleteElemChkG3 " "
		    checkItem deleteElemChkUnc3 "No uncovered faces after delete" delElemFlagCov3 NULL
	        greyGroupItem END
	    greyGroup END
        frame END
	exclusiveGroupItem END # end of Rotation
    exclusiveGroup END
dataEntryDialog END





