

# These are the rules to define various objects

RULES:

  Categories = deletable, \
        internal,  uneditable, \
        point, line, surface, plane, volume,  \
        variable-colour, constant-colour, \
        annotation,  \
        vector-variable, scalar-variable, mesh-variable,  variable, \
        fundamental-variable, user-variable, geometry, viewer-viewable, \
        selectable, edge-based, has-variable, has-variable-colour, surface-has-variable, \
        instance-transformation,kernel-point,kernel-curve,kernel-surface, \
    has-local-variable, suspendable, colourmap, region2d, geometry attribute, mesh-density

  ParamCategories = Direction, Position, Quaternion, RGBColour, Timestep, String, Other

# Categories
# Categories allow the selection of object types by their potential properties.
# Tools are provided for selecting all objects of types that fall into given categories.
#
# Note that all categories define only the potential contents. An Isosurface
# defined to be outside the range of its variable will have no points or surfaces,
# but is still in category 'surface'.
#
# Explanation of categories:
# deletable - can be created and deleted by the user through CCL
# internal - can be created and deleted only by the system
# point - is a geometry that may contain at least one point
# line  - is a geometry that may contain lines
# surface  - is a geometry that may contain surfaces
# volume - is a geometry that may contain volumes
# variable-colour - can be coloured by a variable
# constant-colour - can be given a constant colour
# annotation - currrently unused
# vector-variable - is a variable with more than one component (e.g. Velocity)
# scalar-variable  - is a variable with one component (e.g. Pressure)
# mesh-variable - currently unused
# variable - is a variable
# fundamental-variable - is a variable read from the results file or defined by the system
# user-variable - is a variable defined by the user
# geometry - has geometry
# viewer-viewable - is drawn in the viewer
# selectable - should appear in the ObjectSelector in the GUI
# edge-based - may be defined by an edge-based interpolator, like isosurface
# has-variable - can have variables defined on it
# has-variable-colour - can be coloured by a variable
# surface-has-variable - can have variables defined on it and is a surface. Should eventually be
#        replaced when LocatorParamWgt can cope with the intersection of two categories
#
# Explanation of Schedulers
# curvetype is fired when a geometry curve changes between piecewise and Bspline representation.

# Scheduler Types
# In TurboGrid the 'draw' scheduler is used by KernelCCLObjects to take the ICEM objects
# that they control and write them to a Geometry.

  SchedulerTypes = axis, top, read data, colour, glyph, symbol, variable, expression, \
        camera, render,calc,set,constraint,rotation,segment,initialize, \
        machine, delete, centreline, edges,surfaces, trimmed, generate, theta, draw, extend, clean, \
        transform, transform top, turbo, tolerance, curvetype,tip, angle, trimcentreline, \
        edge colour, text colour, ruler, span geometry, geometry, trimopening, define regions, pre topology, \
        load cad, toggle hide, change template name, intermediate layers, change generate mesh parameter

  CCLObjectClasses = GenericCCLObject, GeometricCCLObject, CameraCCLObject, \
        KernelCCLObject, HubShroudCCLObject, BladeCCLObject, BladesetCCLObject, \
        SymbolGeometricCCLObject, CoordinateFrameCCLObject, \
        OverlayCCLObject, DataCCLObject, \
        UnrestrictedCCLObject, ExpressionsCCLObject, CubeCCLObject,\
        SymbolCCLObject, ExpressionEvaluatorCCLObject, \
        ContourCCLObject, PlaneCCLObject, VoidCCLObject, ExternalFileUserCCLObject, \
        OpeningCCLObject, MachineDataCCLObject, GeoPointCCLObject, \
        PeriodicSurfaceCCLObject, GeoLineCCLObject, UnitsCCLObject, \
        VariableCCLObject, ProfilePointCCLObject, MeshDomainCCLObject, MeshMeasureCCLObject, \
        TGViewCCLObject, ViewportManagerCCLObject, TopologyCCLObject, TopologysetCCLObject, \
        LayersCCLObject, LayerCCLObject, MeshGenerationCCLObject, BladeMeshDataCCLObject, \
        TurboTransformCCLObject,OutlineCCLObject,LayerPreviewCCLObject,ControlPointCCLObject, \
        MeshDisplayCCLObject,AffineTransformCCLObject, EdgeSplitControlCCLObject, \
        ColourMapCCLObject, ParameterizationCCLObject, \
        GAPointCCLObject, GAProjectedPointCCLObject, GACurveCCLObject, \
        GABladeCurvesCCLObject, GACurveFromPointsCCLObject, \
        GAPassageParameterizationCCLObject, GADistanceCCLObject, GACircleCCLObject, \
        GAPassageCurveCCLObject, GASplitterEndProximityGeometryCCLObject, GAParameterizationValueCCLObject, \
        GATranslatedPointCCLObject, GAPointOnCurveCCLObject, GAExposerCCLObject, GATranslatedCurveCCLObject, \
        GAMainBladeProximityGeometryCCLObject, GADoubleHerringboneProximityGeometryCCLObject, \
        GARoundedBladeCircleGeometryCCLObject, GASingleHerringboneProximityGeometryCCLObject, \
        TCPieceSelectorCCLObject, TopologyChoiceCCLObject, \
        TrimmedCurveCCLObject, OpeningRegionCCLObject, RegionDataCCLObject, \
        SegmentHighlightCCLObject, CADCCLObject, CADTopologyInstanceCCLObject, EntityDefinitionCCLObject, \
        GeometryDisplayInstanceCCLObject, PointDisplayCCLObject, CadFamilyCCLObject

# Allowed Actions:
#
# quit
# print [<Print File>]
# export [<Export File>]
# load [<Current Results File>]
# delete <objectName>
# rename <objectName>, <newObjectName>
# copy <objectName>, <newObjectName>
# transform <objectName>, <transformObject1>, [transformObject2], ...
# listobjects [name = (,,)], [type = (,,)], [category = (,,)]
# listtimesteps
# readsession <file>, [update=on|off], [promptmode = prompt | continue | stop]
# readstate <file>
# sessionrecorder (start, <file> | stop)
# undo
# redo
# evaluate <expression name>
# animation (clear | store | play | delete), [animationObject]
# array (delete | create | setentry | getentry | getdim) ....
#   array delete, <arrayname>
#   array create, <arrayname>, (1D | 2D | 3D)
#   array set, <arrayname>, <value>, (by value | by reference), <index1>, [index2], [index3]
#   array get, <arrayname>, <index1>, [index2], [index3]
#   array getdim, <arrayname>
# camera view <cameraObject> - sets the viewer eye position to the location specified
#                              by the named cameraObject
# camera save <cameraObject> - Stores the current viewer camera to the named object

 # -------------- PARAMETERS --------------------

# General geometry Parameters
# PARAMETER: Location
#   Parameter Type = String List
#   Local Type = top
#   Remote Type = top
# END
  PARAMETER: Point
    Parameter Type = Real List
    Local Type = top
    Remote Type = top
    Default = 0.0, 0.0, 0.0
    Parameter Category = Position
    Description = An XYZ triple which defines a point in space.
  END
  PARAMETER: X
    Parameter Type = Real
    Local Type = top
    Remote Type = expression
    Default = 0.0
    Description = The X coordinate value for the location of this object.
  END
  PARAMETER: Y
    Parameter Type = Real
    Local Type = top
    Remote Type = expression
    Default = 0.0
    Description = The Y coordinate value for the location of this object.
  END
  PARAMETER: Z
    Parameter Type = Real
    Local Type = top
    Remote Type = expression
    Default = 0.0
    Description = The Z coordinate value for the location of this object.
  END
  PARAMETER: Normal
    Parameter Type = String List
    Local Type = top
    Default = 1.0,0.0,0.0
    Parameter Category = Direction
    Description = An XYZ triple describing the normal vector.
  END
  PARAMETER: Point 1
    Parameter Type = String List
    Local Type = top
    Remote Type = top
    Default = 0.0, 0.0, 0.0
    Parameter Category = Position
    Description = An XYZ triple defining the first point for this object.
  END
  PARAMETER: Point 2
    Parameter Type = String List
    Local Type = top
    Remote Type = top
    Default = 1.0, 0.0, 0.0
    Parameter Category = Position
    Description = An XYZ triple defining the second point for this object.
  END
  PARAMETER: Point 3
    Parameter Type = String List
    Local Type = top
    Remote Type = top
    Default = 0.0, 1.0, 0.0
    Parameter Category = Position
    Description = An XYZ triple defining the third point for this object.
  END
  PARAMETER: Plane Bound
    Allowed String List = None, Circular, Rectangular
    Parameter Type = String
    Local Type = top
    Default = None
    Description = Defines plane bounding (Circular, Rectangular, None).
  END
  PARAMETER: Invert Plane Bound
    Parameter Type = Logical
    Local Type = top
    Default = Off
    Description = Reverses the plane bounds by selecting region outside plane bound.
  END
  PARAMETER: Bound Radius
    Parameter Type = Real
    Local Type = top
    Remote Type = expression
    Default = 0.5
    Description = Radius of Circular Plane Bound.
  END
  PARAMETER: Direction 1 Bound
    Parameter Type = Real
    Local Type = top
    Remote Type = expression
    Default = 1.0
    Description = Length of Rectangular Plane Bound.
  END
  PARAMETER: Direction 2 Bound
    Parameter Type = Real
    Local Type = top
    Remote Type = expression
    Default = 1.0
    Description = Width of Rectangular Plane Bound.
  END
  PARAMETER: Direction 1 Orientation
    Parameter Type = Real
    Local Type = top
    Remote Type = expression
    Default = 0 [degree]
    Description = Orientation of Rectangular Plane Bound length.
  END
    PARAMETER: Direction 1 Points
    Parameter Type = Integer
    Local Type = top
    Remote Type = expression
    Default = 10
    Description = Number of Sample points in direction 1.
  END
  PARAMETER: Direction 2 Points
    Parameter Type = Integer
    Local Type = top
    Remote Type = expression
    Default = 10
    Description = Number of Sample points in direction 2.
  END
  PARAMETER: Plane Type
    Parameter Type = String
    Local Type = top
    Allowed String List = Slice, Sample
    Default = Slice
    Description = Indicates if the plane is a slice or sample plane.
  END
  PARAMETER: Line Type
    Parameter Type = String
    Local Type = top
    Allowed String List = Cut, Sample
    Default = Sample
    Description = Indicates if the line is a cut or sample line.
  END
  PARAMETER: Line Samples
    Parameter Type = Integer
    Local Type = top
    Remote Type = expression
    Default = 10
    Description = Number of points in the sample line.
  END
  PARAMETER: Radius
    Parameter Type = Real
    Local Type = top
    Remote Type = expression
    Default = 1.0
    Description = Radius distance for sphere volume.
  END

  # General Variable parameters
  PARAMETER: Colour Variable
    Parameter Type = String
    Local Type = colour
    Remote Type = top
    Remote Path = /
    Description = The name of the variable to be used in colouring the object.  \
                Should be set equal to the name of a currently defined VARIABLE \
                object.
  END
  PARAMETER: Variable
    Parameter Type = String
    Local Type = top
    Remote Type = top
    Remote Path = /
    Description = The name of the variable used to create the object. \
                Should be set equal to the name of a currently defined VARIABLE \
                object.
  END
  PARAMETER: User Units
    Parameter Type = String
    Local Type = top
    Description = Specifies the preferred units to display this variable in \
                if different from the default units setting.  To use the default \
                units, this parameter must be empty (blank).
  END
  PARAMETER: Base Units
    Parameter Type = String
    Description = The base units of a variable.
  END
  PARAMETER: Has Hybrid Values
    Parameter Type = Logical
    Default = Yes
    Description = Internal parameter specifying whether a variable can load \
      Hybrid Values on boundary nodes.
  END
  PARAMETER: Boundary Values
    Parameter Type = String
    Allowed String List = Conservative, Hybrid
    Default = Conservative
    Local Type = top
    Description = Sets the type of boundary values to be presented for this \
                  variable (Conservative or Hybrid).
  END
  PARAMETER: Colour Variable Boundary Values
    Parameter Type = String
    Allowed String List = Conservative, Hybrid
    Default = Hybrid
    Local Type = colour
    Description = Sets the type of boundary values to be presented for \
                  colour variables in this object (Conservative or Hybrid).
  END
  PARAMETER: Variable Boundary Values
    Parameter Type = String
    Allowed String List = Conservative, Hybrid
    Default = Hybrid
    Local Type = top
    Description = Sets the type of boundary values to be presented for \
                  variables in this object (Conservative or Hybrid).
  END
  PARAMETER: Boundary Type
    Parameter Type = String
    Description = Internal parameter tells the type of the boundary.
  END
  PARAMETER: Recipe
    Parameter Type = String
    Default = Standard
    Allowed String List = Standard, Vector Component, Expression
    Description = Contains instructions on how to build a value list for \
                  the variable.
    Local Type = top
  END
  PARAMETER: Component Index
    Parameter Type = String
    Default = 1
    Allowed String List = 1, 2, 3
    Description = Specifies vector component to be used for the variable.
  END
  PARAMETER: User Level
    Parameter Type = String
    Default = 1
    Allowed String List = 1, 2, 3
    Description = Specifies the user level of the variable.
  END
  PARAMETER: Quantity Type
    Parameter Type = String
    Description = Specifies the Quantity Type of the variable.
  END

  # General Glyph parameters
  PARAMETER: Point Symbol
    Parameter Type = String
    Local Type = symbol
    Default = Crosshair
    Allowed String List = Crosshair, Octahedron, Cube, Ball, Point2DNS
    Description = Name of point symbol (non-directional) to be used for plot.
  END
  PARAMETER: Symbol Size
    Parameter Type = Real
    Local Type = symbol
    Remote Type = expression
    Default = 1.0
    Description = A scaling factor for all symbols in the plot.
  END
  PARAMETER: MTS Symbol Size Conversion Factor
    Parameter Type = Real
    Default = 1.0
    Description = A scaling factor for symbol size in MTS transform space.
  END
  PARAMETER: ART Symbol Size Conversion Factor
    Parameter Type = Real
    Default = 1.0
    Description = A scaling factor for symbol size in ART transform space.
  END

  #General Colouring and Range Variables
  PARAMETER: Colour Mode
    Parameter Type = String
    Allowed String List = Use Plot Variable, Constant, \
                          Variable, Time, Unique
    Local Type = colour
    Default = Constant
    Description = Sets the mode used to colour the object.  If set equal to \
                "Constant" then the "Colour" parameter is used to determine the \
                plot colour. If set equal to "Variable", then the "Colour Variable" \
                parameter is used.
  END
  PARAMETER: Colour
    Parameter Type = Real List
    Local Type = colour
    Default = 1.0, 1.0, 1.0
    Parameter Category = RGBColour
    Description = A list of three numbers between 0 and 1, which represent the \
                RGB (Red/Green/Blue) values to be used when colouring the faces \
                of an object by constant colour.
  END
  PARAMETER: Line Colour Mode
   Local Type = colour
   Allowed String List = Default, User Specified
   Default = Default
   Description = Determines where to get the line colour from.
  END
  PARAMETER: Range
    Parameter Type = String
    Allowed String List = Global, Local, User Specified
    Local Type = colour
    Default = Global
    Description = Sets the method used to calculate the extents of the colour \
                map on an object.  "Global" uses the range of values in the \
                problem domain. "Local" uses the range of values on the current \
                object.
  END
  PARAMETER: Min
    Parameter Type = Real
    Local Type = colour
    Default = 0.0
    Remote Type = expression
    Description = The minimum value of a variable in the colourmap when using a \
                "User Specified" range.

  END
  PARAMETER: Max
    Parameter Type = Real
    Local Type = colour
    Default = 0.0
    Remote Type = expression
    Description = The maximum value of a variable in the colourmap when using a \
                "User Specified" range.
  END

  # Rendering Parameters
  PARAMETER: Visibility
    Parameter Type = Logical
    Default = true
    Local Type = render
    Description = Toggles the visibility of this graphics object in the viewer.
  END
  PARAMETER: Transparency
    Parameter Type = Real
    Default = 0.0
    Local Type = render
    Remote Type = expression
    Description = Set between 0.0 (fully opaque) and 1.0 (fully transparent) \
                to control the transparency of this graphics object in the viewer.
  END
  PARAMETER: Draw Faces
    Parameter Type = Logical
    Default = On
    Local Type = render
    Description = Toggles the visibility filled faces for this graphics object \
                in the viewer.
  END
  PARAMETER: Surface Drawing
    Parameter Type = String
    Allowed String List = None, Flat Shading, Smooth Shading
    Default = Smooth Shading
    Local Type = render
    Description = Sets the algorithm used to shade the faces for this graphics object.
  END
  PARAMETER: Lighting
    Parameter Type = Logical
    Default = true
    Local Type = render
    Description = Toggles the lighting of this graphics object in the viewer.
  END
  PARAMETER: Specular Lighting
    Parameter Type = Logical
    Default = Off
    Local Type = render
    Description = Toggles the specular lighting of this object in the viewer.
  END
  PARAMETER: Culling Mode
    Parameter Type = String
    Allowed String List = No Culling, Back Faces, Front Faces
    Default = No Culling
    Local Type = render
    Description = Controls the face culling of this object in the viewer.
  END
  PARAMETER: Colour Map
    Parameter Type = String
    Default = /COLOUR MAP DEFAULT:Default Colour Map
    Local Type = colour
    Remote Type = top
    Description = The name of the colour map to use when colouring the object.
  END

  PARAMETER: Draw Lines
    Parameter Type = Logical
    Default = Off
    Local Type = render
    Description = Toggles the visibility of lines around each face of this \
                graphics object.
  END
  PARAMETER: Line Width
    Parameter Type = Integer
    Default = 1
    Local Type = render
    Description = Controls the width (in pixels) of lines drawn for this \
                graphics object.
  END
  PARAMETER: Line Colour
    Parameter Type = String List
    Default = 1.0, 1.0, 1.0
    Local Type = colour
    Parameter Category = RGBColour
    Description = A list of three numbers between 0 and 1, which represent the \
                RGB (Red/Green/Blue) values to be used for colouring the lines \
                on a graphics object.
  END
  PARAMETER: Instancing Transform
    Parameter Type = String
    Local Type = colour
    Remote Type = top
    Default = /Default Transform
    Description = Defines the TRANSFORM object that is used for the object \
         instancing.
  END
  PARAMETER: Apply Instancing Transform
    Parameter Type = Logical
    Local Type = colour
    Default = On
    Description = Toggles the instancing transformation for this graphics \
        object in the viewer.
  END

  #General Object Parameters

  #HARDCOPY
  PARAMETER: Hardcopy Format
    Parameter Type = String
    Default = png
    Allowed String List = ps, eps, jpg, ppm, bmp, png, vrml, cvf, avz, gltf
    Description = Sets the format of hardcopy output from "print".
  END
  PARAMETER: Hardcopy Filename
    Parameter Type = String
    Description = Sets the file name for the output from "print".
  END
  PARAMETER: Paper Size
   Parameter Type = String
   Allowed String List = Letter, A4
   Default = Letter
   Description = Scales hardcopy output to the specified paper size.
  END
 PARAMETER: Print Quality
   Parameter Type = String
   Allowed String List = Draft, Medium, High
   Default = High
   Description = Controls quality vs. speed of hardcopy output.
 END
 PARAMETER: JPEG Image Quality
   Parameter Type = Integer
   Default = 80
   Description = The quality factor for jpeg image output.  Higher values results \
               in clearer, but larger, files.
 END
 PARAMETER: Paper Orientation
   Parameter Type = String
   Allowed String List = Landscape, Portrait
   Default = Landscape
   Description = Sets the rotation of the image on the printed page.
 END
 PARAMETER: Hardcopy Tolerance
   Parameter Type = String
   Default = 0.001
   Description = A non-dimensional tolerance used in face-sorting when generating \
               hardcopy output.  Smaller values will result in faster printing times, \
               but may cause defects in the resulting output.
 END
 PARAMETER: Print Line Width
   Parameter Type = Integer
   Default = 1
   Description = The width of lines in hardcopy output.  Increasing this value \
                 may give better results on high-resolution printers.
 END
 PARAMETER: White Background
   Parameter Type = Logical
   Default = Off
   Description = Toggles if hardcopy output is produced on a white or black background.
 END
 PARAMETER: Image Scale
   Parameter Type = Integer
   Default = 100
   Description = Scales the size of bitmap images to a fraction (in percent) of \
               the current viewer window size.
 END

 PARAMETER: Use Screen Size
   Parameter Type = Logical
   Default = On
   Description = When set to On, the current screen size is used as the image size
 END 
 PARAMETER: Image Width
   Parameter Type = Integer
   Default = 600
   Description = The image width (used when Use Screen Size is set to Off)
 END
 PARAMETER: Image Height
   Parameter Type = Integer
   Default = 600
   Description = The image height (used when Use Screen Size is set to Off)
 END

 PARAMETER: Screen Capture
   Parameter Type = Logical
   Default = Off
   Description = Enables the screen capture mode for producing image output.
 END

 PARAMETER: Antialiasing
   Parameter Type = Logical
   Default = On
   Description = Enables the antialiasing of the graphics (smooth edges).
 END

 # EXPORT
PARAMETER: Export File
   Parameter Type = String
   Default = export.dat
   Description = The filename to which the exported data will be written.
END

PARAMETER: Variable List
   Parameter Type = String List
   Default = X, Y, Z
   Description = A comma delimited list of variables whose data is to be exported.
END
# PARAMETER: Export Format
#    Parameter Type = String
#    Default = f8.3
#    Description = The format that the output data is to be in.
# END
PARAMETER: Include Header
   Parameter Type = Logical
   Default = True
   Description = Indicates whether a pre-defined header is appended to the top of \
                  the export file, using `#' marks to comment.
END
PARAMETER: Null Token
   Parameter Type = String
   Default = <null>
   Description = The string that should be used in the export file if no data \
                  exists for a variable at a node.
END
PARAMETER: Location List
   Parameter Type = String List
   Local Type = top
   Remote Type = geometry
   Description = A comma delimited list of locator names.
END
PARAMETER: Location
   Parameter Type = String
   Local Type = top
   Remote Type = geometry
   Description = A locator name.
END
PARAMETER: Overwrite
   Parameter Type = Logical
   Default = False
   Description = Indicates whether, if the specified filename exists, the file should \
                  be overwritten with the new data.
END
PARAMETER: Precision
    Parameter Type = Integer
    Default = 8
    Description = Indicates the number of decimal points of precision to display the \
                   exported data to.
END
PARAMETER: Vector Display
   Parameter Type = String
   Default = Components
   Allowed String List = Components, Scalar
   Description = Indicates the way that vector variables are to be displayed. \
                  Choices are: Components | Scalar.
END
PARAMETER: Separator
   Parameter Type = String
   Default = " "
   Description = Indicates the string to use between each variable.  The string must \
                  be delimited by quotation marks.
END
PARAMETER: Vector Brackets
   Parameter Type = String
   Default = ()
   Description = Indicates the kind of brackets to use around vector data when displayed \
                 as components. Any two character combination is valid, where the first \
                 character will be used as the open-bracket, and the second as the \
                 close-bracket. If "-" is specified (no quotes), no brackets will be \
                 displayed.
END


  # Variables
  PARAMETER: VarMin
    Parameter Type = Real
    Description = The global minimum value from this variable as read from the RES file.
  END
  PARAMETER: VarMax
    Parameter Type = Real
    Description = The global maximum value from this variable as read from the RES file.
  END
  PARAMETER: Min Limit
    Parameter Type = Real
    Description = The minimum value of the valid range of a Mesh Limit object
    Local Type = top
    Remote Type = expression
  END
  PARAMETER: Max Limit
    Parameter Type = Real
    Description = The maximum value of the valid range of a Mesh Limit object
    Local Type = top
    Remote Type = expression
  END
  PARAMETER: HybridMin
    Parameter Type = Real
    Description = The global hybrid minimum value from this variable as read from the RES file.
  END
  PARAMETER: HybridMax
    Parameter Type = Real
    Description = The global hybrid maximum value from this variable as read from the RES file.
  END
  PARAMETER: Expression
    Parameter Type = String
    Local Type = top
    Remote Type = expression
    Description =  A CFX Expression Language expression.
  END
  PARAMETER: Variable Dimensions
    Parameter Type = Real List
    Description = The dimensions of the variable as read from the results file.
  END
  PARAMETER: Solver Name
    Parameter Type = String
    Local Type = top
    Description = The name of this object inside the RES file.
  END

  PARAMETER: Boundary Values
    Parameter Type = String
    Allowed String List = Conservative, Hybrid
    Default = Conservative
    Local Type = top
    Description = Sets the type of boundary values to be presented for this \
                  variable (Conservative or Hybrid).
  END
  PARAMETER: Colour Variable Boundary Values
    Parameter Type = String
    Allowed String List = Conservative, Hybrid
    Default = Hybrid
    Local Type = colour
    Description = Sets the type of boundary values to be presented for \
                  colour variables in this object (Conservative or Hybrid).
  END
  PARAMETER: Variable Boundary Values
    Parameter Type = String
    Allowed String List = Conservative, Hybrid
    Default = Hybrid
    Local Type = top
    Description = Sets the type of boundary values to be presented for \
                  variables in this object (Conservative or Hybrid).
  END

  # DATA READER
  PARAMETER: Current Results File
    Parameter Type = String
    Description = The name of the results file to be read into the post-processor.
  END
  PARAMETER: Current Timestep
    Parameter Type = Integer
    Default = -1
    Parameter Category = Timestep
    Description = The timestep to be used when reading a transient results file.
  END
  PARAMETER: Current Timevalue
    Parameter Type = Real
    Default = 1
    Description = The time value to be used when reading a transient results file.
  END
  PARAMETER: Current Results File Version
    Parameter Type = Integer
    Description = The version of the current results file.
  END
  PARAMETER: Temporary Directory
    Parameter Type = String
    Description = The path to a temporary working directory which ANSYS TurboGrid can use \
                  for placing temporary files.  This directory does not have to exist \
                  between runs of ANSYS TurboGrid, and the contents will be deleted when \
                  Post shuts down.
  END

# Preferred Units:
PARAMETER: Preferred Units System
  Parameter Type = String
  Default = SI
  Local Type = top
  Description = This specifies the Units System to use.
END

PARAMETER: Update Units to Preferred
  Parameter Type = Logical
  Default = true
  Description = This logical indicates whether all displayed units should always \
                 be updated to display the preferred units.  If this is 'false', \
                 quantities will be converted to preferred types.
END

PARAMETER: Custom Units Setting
  Parameter Type = String List
  Local Type = top
  Description = This is a comma delimited list of Quantities and their selected \
                units for the Custom Units Setting.  The list will contain both \
                Quantities and the units: e.g. Acceleration, m s^-2, Angle, radian, ...
END

SINGLETON: UNIT SYSTEM
   CCLObject Class = UnitsCCLObject
   Scheduler = top
   Category = internal
   Essential Parameter List = Preferred Units System
   Optional Parameter List = Update Units to Preferred, Custom Units Setting
   Allowed Parent List = ROOT
   Description = This object stores the preferred units.
END

#
# #LINE and POLYLINE
  PARAMETER: Input File
    Parameter Type = String
    Local Type = top
    Default = data.txt
    Description = The name of the file to be read that contains the definition of \
                one or more polylines and associated path variables.
  END
# END

 PARAMETER: Initial State
    Parameter Type = Boolean
    Default = false
    Description = Set true when setting the object to the state it is in at \
      startup. Set false by any other changes. Used in Object State determination. \
      Should be set in initialisation file.
  END
 PARAMETER: Object State
    Parameter Type = String
    Allowed String List = unavailable,incomplete,complete,invalid
    Default = complete
    Description = Indicates the colour state of item.
  END
  PARAMETER: Local Variable Ranges
    Parameter Type = String List
    Description = A list of Variable Local Range data in base units.  Each element in the \
                list contains: "<Variable Name> : <Hybrid/Conservative> : \
                <Min Value> : <Max Value>"
  END


# # VECTOR
  PARAMETER: Normalized
    Parameter Type = Logical
    Local Type = render
    Default = Off
    Description = If set On, all vectors are plotted with the same length (show \
                  direction only).
  END

 #CONTOUR
 PARAMETER: Number of Contours
   Parameter Type = Integer
   Local Type = colour
   Default = 10
   Description = Specifies number of contour lines in a contour plot.
 END
 PARAMETER: Clip Contour
   Parameter Type = Logical
   Local Type = colour
   Default = Off
   Description = Enables/disables clipping in a contour plot.
 END
 PARAMETER: Draw Contours
   Parameter Type = Logical
   Local Type = render
   Default = On
   Description = Enables/disables drawing of the contour lines.
 END
 PARAMETER: Show Numbers
   Parameter Type = Logical
   Local Type = render
   Default = On
   Description = Toggles contour numbering. 
 END
 PARAMETER: Fringe Fill
   Parameter Type = Logical
   Local Type = render
   Default = Off
   Description = If set to On, the space between contours in a contour plot is \
                 filled with fringe bands.
 END
 PARAMETER: Contour Range
   Parameter Type = String
   Allowed String List = Global, Local, User Specified, Value List
   Local Type = colour
   Default = Global
   Description = Sets the method used to calculate a contour plot.\
                 "Global" uses the range of variable values in the \
                 problem domain. "Local" uses the range of values on the \
                 specified list of objects. "User Specified" uses Min and Max \
                 parameter value. "Value List" plots contours on the values \
                 specified in Value List parameter.
 END
 PARAMETER: Value List
   Parameter Type = Real List
   Local Type = colour
   Default = 0.0, 1.0
   Description = Specifies a list of variable values for a contour plot. In \
                 order for this list to be used, Contour Range has to be set \
                 to "Value List".
 END
 PARAMETER: Constant Contour Colour
   Parameter Type = Logical
   Local Type = colour
   Default = Off
   Description = If set to On, then the "Line Colour" parameter is used to \
                 determine the contour colour. Otherwise, the contour is \
                 coloured by the contour variable.
 END

  #ISOSURFACE
  PARAMETER: Value
    Parameter Type = Real
    Local Type = top
    Remote Type = expression
    Default = 0.0
    Description = The value of the variable at which the isosurface is to be plotted.
  END

    PARAMETER: Value 1
    Parameter Type = Real
    Local Type = top
    Remote Type = expression
    Default = 0.0
    Description = The value of the variable at which the isovolume is to be plotted.
  END

   PARAMETER: Value 2
    Parameter Type = Real
    Local Type = top
    Remote Type = expression
    Default = 0.0
    Description = The value of the variable at which the isovolume is to be plotted \
                  it is used when the isovolume mode is between values.
  END

  PARAMETER: Render Edge Angle
    Parameter Type = Real
    Local Type = colour
    Remote Type = expression
    Default = 0 [degree]
    Description = The angle between two faces used to limit visible edges in a \
                  wireframe.
  END
#
 #GROUP
PARAMETER: Member List
   Parameter Type = String List
   Local Type = top
   Remote Type = top
   Description = A list of objects included in the group.
END

 #TRANSFORM

PARAMETER: Apply Reflection
   Parameter Type = Logical
   Local Type = top
   Default = false
   Description = Toggles reflection in the transformation.
END
PARAMETER: Apply Translation
   Parameter Type = Logical
   Local Type = top
   Default = false
   Description = Toggles translation in the transformation.
END
PARAMETER: Apply Rotation
   Parameter Type = Logical
   Local Type = top
   Default = true
   Description = Toggles rotation in the transformation.
END
PARAMETER: Reflection Plane
   Parameter Type = String
   Local Type = top
   Remote Type = geometry
   Description = Specifies the REFLECTION PLANE object to use in a \
        transformation.
END
PARAMETER: Rotation Axis Type
   Parameter Type = String
   Local Type = axis
   Default = Principal Axis
   Allowed String List = Principal Axis, Rotation Axis
   Description = Specifies the rotation axis type in the \
      transformation. \
      If it is set to `Principal Axis', Principal Axis parameter \
      setting is used. If it is set to `Rotation Axis', parameters \
      Rotation Axis From and Rotation Axis To are used for the axis \
      definition.
END
PARAMETER: Principal Axis
   Parameter Type = String
   Local Type = axis
   Default = Z
   Allowed String List = X, Y, Z, -X, -Y, -Z
   Description = Specifies the principal axis used in instance rotation.
END
PARAMETER: Rotation Axis From
   Parameter Type = String List
   Local Type = axis
   Remote Type = expression
   Default = 0.0, 0.0, 0.0
   Description = An XYZ triple defining the first point of the \
        rotation axis.
END
PARAMETER: Rotation Axis To
   Parameter Type = String List
   Local Type = axis
   Remote Type = expression
   Default = 1.0, 0.0, 0.0
   Description = An XYZ triple defining the second point of the \
        rotation axis.
END
PARAMETER: Rotation Angle
   Parameter Type = Real
   Local Type = top
   Remote Type = expression
   Default = 0 [degree]
   Description = Specifies the rotation angle.
END
PARAMETER: Number of Components in 360
  Parameter Type = Real
  Local Type = top
  Remote Type = expression
  Default = 12
  Description = Number of Components in 360 degrees
END
PARAMETER: Translation Vector
   Parameter Type = Real List
   Local Type = top
   Remote Type = expression
   Default = 0.0, 0.0, 0.0
   Description = Specifies the translation vector.
END
PARAMETER: Number of Copies
   Parameter Type = Integer
   Local Type = top
   Default = 1
   Description = Specifies the number of transformed copies.
END
 PARAMETER: Full Circle
   Parameter Type = Logical
   Local Type = top
   Default = On
   Description = If set to On, the instances are placed uniformly about \
        the instance rotation axis. Note that the Number of Copies has to be \
        greater than two when this option is used.
 END
 PARAMETER: Angle Definition Method
   Parameter Type = String
   Local Type = top
   Default = Instances in 360
   Allowed String List = Value, Instances in 360
   Description = Specifies angle definition method. If it is set to \
                 `Value', parameter Rotation Angle \
                  value will be used for angular instancing. \
                  If it is set to `Instances in 360', \
                  parameter 'Number of Components in 360' will be used.
END

# TEXT
PARAMETER: Font
   Parameter Type = String
   Local Type = colour
   Allowed String List = Serif, Sans Serif
   Default = Sans Serif
   Description = The font name for an item of text.
 END
 PARAMETER: Text String
   Parameter Type = String
   Local Type = colour
   Default = Text
   Description = The contents of an item of text.
 END
 PARAMETER: Text Height
   Parameter Type = Real
   Local Type = colour
   Remote Type = expression
   Default = 0.024
   Description = The height an item of text should be, proportional to the screen.
 END
 PARAMETER: Text Position
   Parameter Type = Real List
   Local Type = colour
   Default = 0, 0.96, 0
   Parameter Category = Position
   Description = The location an item of text should be placed.
 END
 PARAMETER: Position Mode
   Parameter Type = String
   Local Type = colour
   Allowed String List = Two Coords, Three Coords
   Default = Two Coords
   Description = Defines whether a text item is attached to a two-dimensional \
screen coordinate, or a three-dimensional spatial coordinate.
 END
 PARAMETER: Overlay Size
   Parameter Type = Real
   Local Type = colour
   Remote Type = expression
   Default = 1
   Description = A factor by which to scale the size of a two-dimensional overlay.
 END
 PARAMETER: Text Rotation
   Parameter Type = Real
   Local Type = colour
   Remote Type = expression
   Default = 0
   Description = Counter-clockwise rotation, in degrees, to be applied to a text item.
 END
 PARAMETER: X Justification
   Parameter Type = String
   Local Type = colour
   Allowed String List = None, Center, Left, Right
   Default = Center
   Description = Specifies the horizontal justification of a text or overlay item.
 END
 PARAMETER: Y Justification
   Parameter Type = String
   Local Type = colour
   Allowed String List = None, Center, Top, Bottom
   Default = None
   Description = Specifies the vertical justification of a text or overlay item.
 END
 PARAMETER: Text Colour Mode
   Local Type = colour
   Allowed String List = Default, User Specified
   Default = Default
   Description = Determines where to get the text colour from.
 END
 PARAMETER: Text Colour
   Parameter Type = Real List
   Local Type = colour
   Default = 0, 0, 0
   Description = A list of three numbers between 0 and 1, which represent the \
                RGB (Red/Green/Blue) values to be used when colouring the text.
 END

# Legend
PARAMETER: Legend Plot
  Parameter Type = String
  Local Type = colour
  Remote Type = render
  Description = Name of the locator for which to provide information.
END

PARAMETER: Legend Position
  Parameter Type = Real List
  Local Type = colour
  Default = 0.02, 0.15
  Description = XY position of the legend.
END
 PARAMETER: Legend X Justification
   Parameter Type = String
   Local Type = colour
   Allowed String List = None, Center, Left, Right
   Default = Left
   Description = Specifies the horizontal justification of a text or overlay item.
 END
 PARAMETER: Legend Y Justification
   Parameter Type = String
   Local Type = colour
   Allowed String List = None, Center, Top, Bottom
   Default = Top
   Description = Specifies the vertical justification of a text or overlay item.
 END
PARAMETER: Legend Size
  Parameter Type = Real
  Local Type = colour
  Remote Type = expression
  Default = 0.6
  Description = Scale factor to apply to legend.
END

PARAMETER: Legend Ticks
  Parameter Type = Integer
  Local Type = colour
  Default = 5
  Description = Number of points to provide variable values next to the \
        Legend bar.
END

PARAMETER: Legend Resolution
  Parameter Type = Integer
  Local Type = colour
  Default = 256
  Description = Number of colour subdivisions on the legend bar.
END

PARAMETER: Legend Shading
  Parameter Type = String
  Local Type = colour
  Allowed String List = Smooth, Flat
  Default = Smooth
  Description = Controls interpolated shading of colour on the legend bar.
END

PARAMETER: Legend Aspect
  Parameter Type = Real
  Local Type = colour
  Remote Type = expression
  Default = 0.07
  Description = Legend bar width control parameter
END

PARAMETER: Legend Format
  Parameter Type = String
  Local Type = colour
  Default = %9.6f
  Description = Parameter to modify string format of values on legend.
END
PARAMETER: Show Legend Units
  Parameter Type = Logical
  Local Type = colour
  Default = On 
  Description = Toggles display of units in the legend.
END
PARAMETER: Legend Title Mode
  Parameter Type = String
  Local Type = colour
  Allowed String List = No Title, Variable,Variable and Location, User Specified
  Default = Variable
  Description = Controls the legend title type.
END
PARAMETER: Legend Title
  Parameter Type = String
  Local Type = colour
  Default = Legend
  Description = Specifies the legend title when Legend Title Mode is set to User Specified.
END
  PARAMETER: Legend Orientation
  Parameter Type = String
  Local Type = colour
  Allowed String List = Vertical, Horizontal
  Default = Vertical
  Description = Specifies whether to display the legend Vertically or Horizontally.
END

PARAMETER: Colour Map Colours
  Parameter Type = Real List
  # Rainbow
  Default = \
        0,     0,   0,   1,   1, \
        0.10,  0,   0.5, 1,   1, \
        0.25,  0,   1,   1,   1, \
        0.44,  0,   1,   0.5, 1, \
    0.50,  0,   1,   0,   1, \
    0.57,  0.5, 1,   0,   1, \
    0.75,  1,   1,   0,   1, \
    0.90,  1,   0.5, 0,   1, \
    1,     1,   0,   0,   1 
  Local Type = top
  Description = List of sets containing interpolation value, red, green, \
                blue, and alpha values in real that make up a colour map.
END
PARAMETER: Colour Map Custom Colours
  Parameter Type = Real List
  Default = 2.0, 0.0, 0.0, 0.0, 1.0, \
            3.0, 1.0, 1.0, 1.0, 1.0
  Local Type = top
  Description = List of colors that are at indices above 1.0 for special \
                applications.
END
PARAMETER: Colour Map Type
  Parameter Type = String
  Allowed String List = Gradient, Zebra
  Default = Gradient
  Local Type = top
  Description = Sets the type of colour map (Gradient or Zebra).
END
PARAMETER: Colour Map Divisions
  Parameter Type = Integer
  Default = 2
  Local Type = top
  Description = When Colour Map Type is Zebra, this value determines \
                the number of gradient stripes.
END
PARAMETER: Colour Map Storage Type
  Parameter Type = String
  Allowed String List = System, Preferences, State
  Default = State
  Local Type = top
  Description = This determines the type of storage this colour map \
                comes from.
END
OBJECT: COLOUR MAP
  Description = Contains a user-defined colour map for contouring.
  CCLObject Class = ColourMapCCLObject
  Category = deletable
  Scheduler = top
  Optional Parameter List = Colour Map Colours, Colour Map Type, Colour Map Divisions, \
               Colour Map Storage Type
  Internal Parameter List = Colour Map Custom Colours
  Allowed Parent List = ROOT
END

OBJECT: SYSTEM COLOUR MAP
  Description = Contains a system-defined colour map for contouring.
  CCLObject Class = ColourMapCCLObject
  Category = internal, colourmap
  Scheduler = top
  Optional Parameter List = Colour Map Colours, Colour Map Type, Colour Map Divisions, \
               Colour Map Storage Type
  Internal Parameter List = Colour Map Custom Colours
  Allowed Parent List = ROOT
END

# Colour Map
PARAMETER: Colour Map Name
  Parameter Type = String
  Default = Rainbow
  Local Type = top
  Remote Type = top
END

OBJECT: COLOUR MAP DEFAULT
  Description = Contains the name of the current default colour map.
  Scheduler = top
  Essential Parameter List = Colour Map Name
  Internal Parameter List = Colour Map Colours, Colour Map Type, Colour Map Divisions, \
               Colour Map Storage Type, Colour Map Custom Colours
  Allowed Parent List = ROOT
END

# Boundary Intersection

PARAMETER: Boundary List
  Parameter Type = String List
  Local Type = top
  Remote Type = top
  Description = A list of boundary objects
END

 #CAMERA
 PARAMETER: Pivot Point
   Parameter Type = String List
   Local Type = top
   Default = 0.0, 0.0, 0.0
   Parameter Category = Position
   Description = Defines the center of rotation (pivot point) for the camera.
 END
  PARAMETER: Scale
   Parameter Type = Real
   Local Type = top
   Remote Type = expression
   Default = 1.0
   Description = Defines the relative scale of the camera view. With the \
        default scale (1.0), the scene completely fills the viewer window.
 END
 PARAMETER: Pan
   Parameter Type = Real List
   Local Type = top
   Default = 0.0, 0.0
   Description = Defines the camera pan in screen (X, Y) coordinates, with \
        positive X pointing right and positive Y pointing up.
 END
 PARAMETER: Rotation Quaternion
   Parameter Type = Real List
   Local Type = top
   Default = -0.707107, 0, 0, 0.707107
   Parameter Category = Quaternion
   Description = Defines the camera rotation quaternion.
 END
 PARAMETER: Rotation
   Parameter Type = Real List
   Local Type = top
   Default = -90, 0, 0
   Parameter Category = Direction
   Description = Defines the camera rotation in terms of angles about X, Y and \
        Z axis, respectively. X axis is pointing right, Y is pointing \
        up and Z towards the user.
 END
 PARAMETER: Send To Viewer
   Parameter Type = Logical
   Default = true
   Description = A parameter that indicates whether or not the parent VIEW \
    object should be updated with this CAMERA CCL.
 END

  # Misc.
  PARAMETER: Option
    Parameter Type = String
    Local Type = top
    Description = A generic parameter used to define the context setting for a variety of objects.
  END

  PARAMETER: Inclusive
   Parameter Type = Logical
   Default = false
   Local Type = top
   Description = If this parameter set to true, then the volume for \
                 above or below intersection includes intersections .
 END

  PARAMETER: Volume Intersection Mode
    Parameter Type = String
    Allowed String List = Intersection, Below Intersection, Above Intersection
    Default = Intersection
    Local Type = top
    Description = A parameter used to define the context setting for volume object.
  END

   PARAMETER: Isovolume Intersection Mode
    Parameter Type = String
    Allowed String List = At Value, Below Value, Above Value, Between Values
    Default = At Value
    Local Type = top
    Description = A parameter used to define the context setting for isovolume object.
  END

  PARAMETER: Domain List
    Parameter Type = String List
    Local Type = top
    Remote Type = top
    Default = /All Domains
    Description = The list of domains over which to define this object.
  END

  PARAMETER: Local Domain List
    Parameter Type = String List
    Local Type = top
    Remote Type = top
    Default =
    Description = Used by MESH ANALYSIS MEASURE to ensure that it fires after \
      all the MESH ANALYSIS DOMAIN objects it contains
  END


############ SESSION AND STATE PARAMETERS:

PARAMETER: Session Filename
  Parameter Type = String
  Default = session.cse
  Description = The name of the session file to which session data will be saved.
END

PARAMETER: Write Session Mode
  Parameter Type = String
  Default = None
  Allowed String List = None, Overwrite, Append
  Description = This parameter indicates whether the session file \
                should be overwritten or appended to if it exists.
END

PARAMETER: State Filename
  Parameter Type = String
  Default = state.tst
  Description = The name of the state file to which state data will be saved.
END

PARAMETER: Save State Mode
  Parameter Type = String
  Default = None
  Allowed String List = None, Overwrite
  Description = This parameter indicates whether the state file \
                should be overwritten if it exists.
END

PARAMETER: Save State Objects
  Parameter Type = String List
  Description = A list of objects to save to the state file.  If this list is \
        empty, then all user created objects will be saved.
END

PARAMETER: Read State Mode
  Parameter Type = String
  Default = Overwrite
  Allowed String List = Overwrite, Append
  Description = This parameter indicates whether the current system state \
                information should be overwritten or appended to.
END

PARAMETER: Load Data
  Parameter Type = Logical
  Default = True
  Description = This parameter indicates whether to load the results file \
                or not if a DATA READER object exists in the STATE File \
                for a READSTATE action.
END

########### X-Y Plotting Parameters:


# -------------- OBJECTS --------------------

 SINGLETON: ROOT
   Description = The ROOT object lists all the object types that can be defined \
               in ANSYS TurboGrid.
 END

 SINGLETON: RULES
   Allowed Parent List = ROOT
   Description = RULES is automatically read from the rules.ccl library file.
 END

 SINGLETON: LIBRARY
   Allowed Parent List = ROOT
   Description = LIBRARY is automatically read from the VARIABLES library file.
   Optional Child List = CEL
 END

 # Locator Objects

  OBJECT: POINT
    CCLObject Class = SymbolGeometricCCLObject
    Category = point, deletable, constant-colour, variable-colour, selectable, viewer-viewable, geometry, \
        has-variable, has-variable-colour
    Scheduler = top, geometry, symbol, colour, render
    Scheduler Links = top, geometry, geometry, symbol, symbol, colour, colour, render
    Calculate Function = top,    pointcalc, PointCalcFunc, \
                         geometry,    pointcalc, PointCalcFunc, \
                         symbol, pointcalc, PointCalcFunc, \
                         colour, pointcalc, PointCalcFunc, \
                         render, pointcalc, PointCalcFunc
    Essential Parameter List = Option
    Optional Parameter List = Colour Mode, Colour, Colour Variable, \
                                Colour Variable Boundary Values,  Local Variable Ranges, \
                                Range, Max, Min, Transparency, Visibility, \
                                Surface Drawing, Draw Faces, Draw Lines, \
                                Line Colour, Line Width, Point Symbol,\
                                Symbol Size, Normalized, Lighting, Colour Map,\
                                Specular Lighting, Culling Mode, \
                                Instancing Transform, Apply Instancing Transform
    Internal Parameter List = Object State
    Allowed Option List = XYZ, Node Number, Variable Minimum, Variable Maximum
    CONTEXT: XYZ
      Optional Parameter List = Point
    END
    CONTEXT: Node Number
      Optional Parameter List = Domain List, Node Number
    END
    CONTEXT: Variable Minimum
      Optional Parameter List = Domain List,Location, Variable
    END
    CONTEXT: Variable Maximum
      Optional Parameter List = Domain List, Location, Variable
    END
    Description = Defines a point using X, Y and Z coordinates.
    Allowed Parent List = ROOT, USER DEFINED
  END

PARAMETER: Symbol Control Object
  Parameter Type = String List
  Remote Type = symbol
  Local Type = symbol
  Description = Points to object used to control the sizes and types of symbols globally
  Default = /GEOMETRY/SYMBOL CONTROL:Symbol Control
END

  OBJECT: SYMBOL CONTROL
    Category =
    Scheduler = symbol
    CCLObject Class = KernelCCLObject
    Essential Parameter List = Symbol Size, Point Symbol
    Optional Parameter List = MTS Symbol Size Conversion Factor, ART Symbol Size Conversion Factor
    Allowed Parent List = GEOMETRY, LAYER
  END

  PARAMETER: Line Seqment Indexes
    Parameter Type = String List
    Description = A list of line geometry indexes, by domain.
  END

  OBJECT: POLYLINE
    CCLObject Class = ExternalFileUserCCLObject
    Category = line, point, deletable, constant-colour, geometry, \
        selectable, viewer-viewable, \
        has-variable, has-variable-colour, has-local-variable
    Scheduler = top, geometry, colour, glyph, render
    Scheduler Links = top, geometry, geometry, colour, colour, glyph, glyph, render
    Calculate Function = top, polylinecalc, PolylineCalcFunc, \
                         geometry, polylinecalc, PolylineCalcFunc, \
                         colour, polylinecalc, PolylineCalcFunc, \
                         glyph, polylinecalc, PolylineCalcFunc, \
                         render, polylinecalc, PolylineCalcFunc
    Essential Parameter List = Option
    Optional Parameter List = Colour Mode, Colour, Colour Variable, Local Variable Ranges, \
                                Colour Variable Boundary Values, Visibility, Colour Map,\
                              Line Width, Range, Min, Max, Instancing Transform, \
                               Apply Instancing Transform

   Internal Parameter List = Object State, Line Seqment Indexes

    Allowed Option List = From File, Boundary Intersection
    CONTEXT: From File
       Essential Parameter List = Input File
    END
    CONTEXT: Boundary Intersection
       Essential Parameter List = Location, Boundary List
       Optional Parameter List = Domain List
    END
    Allowed Parent List = ROOT,USER DEFINED
    Description = A locator defined by multiple sets of points read from \
                a data file or by the intersection of a boundary and a locator. \
                The points may have local (path) variables associated \
                with them.  The polyline can interact with CFD data and can be coloured \
                using path variables or domain variables.
  END

# OBJECT BOUNDARY
# Internal parameters to deal with periodicity
PARAMETER: Opposite Boundary List
    Description = The boundaries that form the other side of a periodic link
    Parameter Type = String List
END

  OBJECT: BOUNDARY
   CCLObject Class = GeometricCCLObject
   Category = point, surface, constant-colour, variable-colour, geometry, \
              viewer-viewable, has-variable, surface-has-variable, region2d, mesh-density
   Scheduler = axis, top, geometry, colour, render
   Scheduler Links = axis,top, top,geometry, geometry,colour, colour,render
   Calculate Function = top, boundarycalc, BoundaryCalcFunc, \
                        geometry, boundarycalc, BoundaryCalcFunc, \
                        colour, boundarycalc, BoundaryCalcFunc, \
                        render, boundarycalc, BoundaryCalcFunc
   Optional Parameter List = Colour Mode, Colour, Colour Variable, \
                                Colour Variable Boundary Values, \
                              Range, Min, Max, Local Variable Ranges, \
                              Visibility, Transparency, Draw Faces, \
                              Surface Drawing, Draw Lines, Line Width, \
                              Line Colour, Domain List, Lighting, \
                              Specular Lighting, Culling Mode, Colour Map,\
                              Instancing Transform, Apply Instancing Transform, Render Edge Angle
   Internal Parameter List = Solver Name, Boundary Type, \
                             Rotation Axis From, Rotation Axis To, \
                             Rotation Angle, Translation Vector, Opposite Boundary List, \
                             Object State
   Allowed Parent List = ROOT, GEOMETRY
   Description = A locator defined by a boundary condition that exists in the results file.
  END

# Plot Objects

  OBJECT: ISOSURFACE
    Category = deletable, surface, constant-colour,variable-colour, point,\
               geometry, selectable, viewer-viewable, edge-based, has-variable, has-variable-colour, surface-has-variable
    Scheduler = top, geometry, transform, colour, render
    Scheduler Links = top, geometry, geometry, transform, transform, colour, colour, render
    CCLObject Class = KernelCCLObject
    Calculate Function = top, isocalc, IsosurfaceCalcFunc, \
                         geometry, isocalc, IsosurfaceCalcFunc, \
                         colour, isocalc, IsosurfaceCalcFunc, \
                         render, isocalc, IsosurfaceCalcFunc
    Optional Parameter List = Variable, Value, \
                                Variable Boundary Values, \
                                Colour Mode, Colour, \
                                Colour Variable, \
                                Colour Variable Boundary Values,  Local Variable Ranges, \
                              Range, Min, Max, \
                              Visibility, Transparency, Draw Faces, \
                              Surface Drawing, Draw Lines, Line Width, \
                              Line Colour, Line Colour Mode, \
                              Domain List, Lighting,  Turbo Transform, \
                              Specular Lighting, Culling Mode, Colour Map,\
                              Instancing Transform, Apply Instancing Transform, Render Edge Angle
    Internal Parameter List = Object State, Suppress Errors
    Allowed Parent List = ROOT,USER DEFINED,MESH ANALYSIS
    Description = A locator generated by the surface which passes through a constant \
                value of a specified variable.
  END

  OBJECT: TURBO SURFACE
    Category = deletable, surface, constant-colour,variable-colour, point,\
               geometry, selectable, viewer-viewable, edge-based, has-variable, has-variable-colour, surface-has-variable, mesh-density
    Scheduler = top, geometry, transform, colour, render
    Scheduler Links = top, geometry, geometry, transform, transform, colour, colour, render
    CCLObject Class = KernelCCLObject
    Calculate Function = top, isocalc, IsosurfaceCalcFunc, \
                         geometry , isocalc, IsosurfaceCalcFunc, \
                         colour, isocalc, IsosurfaceCalcFunc, \
                         render, isocalc, IsosurfaceCalcFunc
    Optional Parameter List = Variable, Value, \
                                Variable Boundary Values, \
                                Colour Mode, Colour, \
                                Colour Variable, \
                                Colour Variable Boundary Values,  Local Variable Ranges, \
                              Range, Min, Max, \
                              Visibility, Transparency, Draw Faces, \
                              Surface Drawing, Draw Lines, Line Width, \
                              Line Colour, Line Colour Mode, \
                              Domain List, Lighting, Turbo Transform, \
                              Specular Lighting, Culling Mode, Colour Map,\
                              Instancing Transform, Apply Instancing Transform, Render Edge Angle
    Internal Parameter List = Object State, Suppress Errors
    Allowed Parent List = ROOT,USER DEFINED,MESH DISPLAY
    Description = A locator generated by the surface which passes through a constant \
                value of a specified variable.
    PARAMETER: Colour 
      Default = 0.0, 0.0, 0.0
    END
    PARAMETER: Colour Mode 
      Default = Constant
    END
    PARAMETER: Colour Variable Boundary Values 
      Default = Conservative
    END
    PARAMETER: Domain List 
      Default = /All Domains
    END
    PARAMETER: Draw Faces 
      Default = true
    END
    PARAMETER: Draw Lines 
      Default = true
    END
    PARAMETER: Local Variable Ranges 
      Default = 
    END
    PARAMETER: Value 
      Default =
    END
    PARAMETER: Variable 
      Default = K
    END
    PARAMETER: Variable Boundary Values 
      Default = Conservative
    END
    PARAMETER: Transparency 
      Default = 0.0
    END
  END

  OBJECT: USER SURFACE
    CCLObject Class = ExternalFileUserCCLObject
    Category = point, deletable, constant-colour, geometry, selectable, viewer-viewable, \
        has-variable, has-variable-colour, surface, surface-has-variable, has-local-variable
    Scheduler = top, geometry, colour, glyph, render
    Scheduler Links = top, geometry, geometry, colour, colour, glyph, glyph, render
    Calculate Function = top, usersurfacecalc, UserSurfaceCalcFunc, \
                         geometry, usersurfacecalc, UserSurfaceCalcFunc, \
                         colour, usersurfacecalc, UserSurfaceCalcFunc, \
                         glyph, usersurfacecalc, UserSurfaceCalcFunc, \
                         render, usersurfacecalc, UserSurfaceCalcFunc
    Essential Parameter List = Option
    Optional Parameter List = Colour Mode, Colour, Colour Variable, \
                                Colour Variable Boundary Values,  Local Variable Ranges, \
                              Range, Min, Max, \
                              Visibility, Transparency, Draw Faces, \
                              Surface Drawing, Draw Lines, Line Width, \
                              Line Colour, Line Colour Mode, Lighting, Colour Map,\
                              Specular Lighting, Culling Mode, \
                              Instancing Transform, Apply Instancing Transform, Render Edge Angle
    Internal Parameter List = Object State
    Allowed Option List = From File, Boundary Intersection
    CONTEXT: From File
       Essential Parameter List = Input File
    END
    CONTEXT: Boundary Intersection
       Essential Parameter List = Location, Boundary List
       Optional Parameter List = Domain List
    END
    Allowed Parent List = ROOT,USER DEFINED
    Description = Allows the user to read an external file while contains elements \
                  describing a general 3D surface, with local variable values optionally \
                  specified on each node.  The surface can interact with CFD data and can \
                  be coloured  using local variables or domain variables.
  END

  OBJECT: PLANE
    CCLObject Class = PlaneCCLObject
    Category = point, surface, plane, deletable, constant-colour, variable-colour, \
               geometry, selectable, viewer-viewable, edge-based, has-variable, \
               has-variable-colour, surface-has-variable
    Scheduler = top, geometry, colour, render
    Calculate Function = top, planecalc, PlaneCalcFunc, \
                         geometry, planecalc, PlaneCalcFunc, \
                         colour, planecalc, PlaneCalcFunc, \
                         render, planecalc, PlaneCalcFunc
    Scheduler Links = top, geometry, geometry, colour, colour, render
    Essential Parameter List = Option
    Optional Parameter List = Domain List, Colour Mode, \
                              Colour, Colour Variable, \
                                Colour Variable Boundary Values,  Local Variable Ranges, \
                              Range, Min, Max,   \
                              Visibility, Transparency, Draw Faces, \
                              Surface Drawing, Draw Lines, Line Width, \
                              Line Colour, Line Colour Mode, Plane Bound, Bound Radius, \
                              Direction 1 Bound, Direction 2 Bound, \
                              Direction 1 Orientation, Direction 1 Points, \
                              Direction 2 Points, Plane Type, \
                              Invert Plane Bound, Lighting, Colour Map,\
                              Specular Lighting, Culling Mode, \
                              Instancing Transform, Apply Instancing Transform, Render Edge Angle
    Internal Parameter List = Object State
 #  Preview Plane Size, Coord Frame,  Plane Resolution, Bounded Plane
    Allowed Option List = XY Plane, YZ Plane, ZX Plane, Point and Normal, \
        Three Points
    CONTEXT: YZ Plane
      Optional Parameter List =  X
    END
    CONTEXT: ZX Plane
      Optional Parameter List =  Y
    END
    CONTEXT: XY Plane
      Optional Parameter List =  Z
    END
    CONTEXT: Point and Normal
      Optional Parameter List =  Point, Normal
    END
    CONTEXT: Three Points
       Optional Parameter List = Point 1, Point 2, Point 3
    END
    Allowed Parent List = ROOT,USER DEFINED
    Description = A general object to describe a plane through the domain.  \
                  Slice planes (which can be bounded) and sample planes are supported.
  END

  OBJECT: VOLUME
    CCLObject Class = KernelCCLObject
    Category = point, deletable, constant-colour, variable-colour, volume,\
               geometry, selectable, viewer-viewable, has-variable, has-variable-colour
    Scheduler = top, geometry, transform, colour, render
    Scheduler Links = top, geometry, geometry, transform,transform,colour, colour, render
    Calculate Function = top, volumecalc, VolumeCalcFunc, \
                         geometry, volumecalc, VolumeCalcFunc, \
                         colour, volumecalc, VolumeCalcFunc, \
                         render, volumecalc, VolumeCalcFunc
    Essential Parameter List = Option
    Optional Parameter List = Domain List, Colour Mode, Colour, \
                              Colour Variable, \
                                Colour Variable Boundary Values,  Local Variable Ranges, \
                                Range, Min, Max,\
                              Visibility, Transparency, Draw Faces, \
                              Draw Lines, Line Width, Line Colour, Line Colour Mode, \
                              Surface Drawing, Lighting, Colour Map,\
                              Specular Lighting, Culling Mode, Inclusive, Turbo Transform, \
                              Instancing Transform, Apply Instancing Transform, Render Edge Angle
    Internal Parameter List = Object State, Suppress Errors
    Allowed Option List = Sphere, From Surface, Isovolume
    CONTEXT: Sphere
      Optional Parameter List = Point, Radius
    END
    CONTEXT: From Surface
      Optional Parameter List = Location List, Volume Intersection Mode
    END
    CONTEXT: Isovolume
      Optional Parameter List = Isovolume Intersection Mode, Variable, \
                                Variable Boundary Values, Value 1, Value 2
    END
    Allowed Parent List = ROOT,USER DEFINED,MESH ANALYSIS
    Description = An object that contains a subset of the volume elements of \
                  the domains it is defined on.  Options are provided \
                  to specify how that subset is defined.
  END
      
  OBJECT: LINE
    CCLObject Class = GeometricCCLObject
    Category = line, point, deletable, constant-colour, geometry, selectable, viewer-viewable, \
        has-variable, has-variable-colour
    Scheduler = top, geometry, colour, render
    Scheduler Links = top, geometry, geometry, colour, colour, render
    Calculate Function = top, linecalc, LineCalcFunc, \
                         geometry, linecalc, LineCalcFunc, \
                         colour, linecalc, LineCalcFunc, \
                         render, linecalc, LineCalcFunc
    Essential Parameter List = Option
    Optional Parameter List = Domain List, Colour Mode, Colour, \
                              Colour Variable, \
                                Colour Variable Boundary Values,  Local Variable Ranges, \
                                Visibility, \
                              Line Width, Range, Min, Max, \
                              Line Type, Line Samples, \
                              Draw Lines, Colour Map,\
                              Instancing Transform, Apply Instancing Transform

    Internal Parameter List = Object State
    Allowed Option List = Two Points 
    CONTEXT: Two Points
      Optional Parameter List = Point 1, Point 2
    END
    Allowed Parent List = ROOT,USER DEFINED
    Description = Defines a line object.
  END

 OBJECT: CONTOUR
   CCLObject Class = ContourCCLObject
   Category = deletable, constant-colour, variable-colour, selectable, \
              viewer-viewable, has-variable-colour
   Scheduler = top, geometry, colour, render
   Scheduler Links = top, geometry, geometry, colour, colour, render
   Calculate Function = top, contourcalc, ContourCalcFunc, \
                        geometry, contourcalc, ContourCalcFunc, \
                        colour, contourcalc, ContourCalcFunc, \
                        render, contourcalc, ContourCalcFunc
   Essential Parameter List = Location List, Colour Variable
   Optional Parameter List = Domain List, Number of Contours,\
                                Colour Variable Boundary Values,  Local Variable Ranges, \
                             Contour Range, Min, Max, Value List,\
                             Visibility, Transparency,\
                             Surface Drawing, Line Width, \
                             Constant Contour Colour, Colour Map,\
                             Line Colour, Line Colour Mode, Lighting, Show Numbers, \
                             Clip Contour, Draw Contours,  Fringe Fill, Instancing Transform, \
                             Specular Lighting, Culling Mode, \
                             Apply Instancing Transform, \
                             Text Height, Font, Text Colour, Text Colour Mode
    Internal Parameter List = Object State, Suppress Errors
   Allowed Parent List = ROOT,USER DEFINED
   Description = Creates a contour plot on a given list of locators.
 END

########################## TURBO SURFACE  ##########################


 OBJECT: SURFACE GROUP
   CCLObject Class = KernelCCLObject
   Category = surface, constant-colour, variable-colour,selectable, \
              viewer-viewable, has-variable-colour,geometry
   Scheduler = top, geometry, colour, transform,render
   Scheduler Links = top, geometry, geometry, transform,transform,colour, colour, render
   Calculate Function = top, surfacegroupcalc, SurfaceGroupCalcFunc, \
                        geometry, surfacegroupcalc, SurfaceGroupCalcFunc, \
                        colour, surfacegroupcalc, SurfaceGroupCalcFunc, \
                        render, surfacegroupcalc, SurfaceGroupCalcFunc
   Optional Parameter List = Domain List, Location List,\
                              Colour Mode, Colour, Colour Variable, \
                                Colour Variable Boundary Values,  Local Variable Ranges, \
                              Range, Min, Max,\
                              Visibility, Transparency, Draw Faces, \
                              Surface Drawing, Draw Lines, Line Width, \
                              Line Colour, Line Colour Mode, Location List, Lighting, \
                              Colour Map, \
                              Specular Lighting, Culling Mode, Turbo Transform, \
                              Instancing Transform, Apply Instancing Transform, Render Edge Angle
    Internal Parameter List = Object State
   Allowed Parent List = ROOT,MESH DISPLAY,USER DEFINED
   Description = Creates a group of surface plot on a given list of locators.
    PARAMETER: Colour 
      Default = 0.0, 0.0, 0.0
    END
    PARAMETER: Colour Mode 
      Default = Constant
    END
    PARAMETER: Domain List 
      Default = /All Domains
    END
    PARAMETER: Draw Faces 
      Default = true
    END
    PARAMETER: Draw Lines 
      Default = true
    END
    PARAMETER: Transparency 
      Default = 0.0
    END
    PARAMETER: Visibility 
      Default = off
    END
    PARAMETER: Local Variable Ranges 
      Default  = 
    END
    PARAMETER: Location List 
      Default  = 
    END
  END

# Action Executor Objects

 SINGLETON: HARDCOPY
   CCLObject Class = DataCCLObject
   Essential Parameter List = Hardcopy Format
   Optional Parameter List = Hardcopy Filename, Hardcopy Tolerance
   Context Rule = Hardcopy Format
   Allowed Option List =  ps, eps, jpg, ppm, bmp, png, vrml, cvf, avz, gltf
   CONTEXT: ps
     Optional Parameter List = Paper Size, Print Quality, \
                               Paper Orientation, White Background, \
                               Print Line Width
   END
   CONTEXT: eps
     Optional Parameter List = Paper Size, Print Quality, \
                               Paper Orientation, White Background, \
                               Print Line Width
   END
   CONTEXT: bmp
       Optional Parameter List = Print Quality, White Background, \
                                 Use Screen Size, Image Width, Image Height, \
                                 Image Scale, Print Line Width, \
                                 Screen Capture, Antialiasing
   END
   CONTEXT: jpg
       Optional Parameter List = Print Quality, White Background, \
                                 Use Screen Size, Image Width, Image Height, \
                                 Image Scale, Print Line Width, \
                                 Screen Capture, Antialiasing, JPEG Image Quality
   END
   CONTEXT: png
       Optional Parameter List = Print Quality, White Background, \
                                 Use Screen Size, Image Width, Image Height, \
                                 Image Scale, Print Line Width, \
                                 Screen Capture, Antialiasing
   END
   CONTEXT: ppm
       Optional Parameter List = Print Quality, White Background, \
                                 Use Screen Size, Image Width, Image Height, \
                                 Image Scale, Print Line Width, \
                                 Screen Capture, Antialiasing
   END
   Allowed Parent List = ROOT
   Description = This object contains the settings used to control the creation of \
               hardcopy output from the viewer.  It is used by the "print" action.

 END

  PARAMETER: Suppress Errors
    Parameter Type = Logical
    Default = true
    Description = Used to suppress errors that are thrown in common code but \
                  are not applicable to TG.
  END

  PARAMETER: Load Time
    Parameter Type = Integer
    Default = -1
    Description = An integer giving the time at which this file was last loaded. May \
     be the output of time() or may not.
  END
  PARAMETER: Force File Reload
    Parameter Type = Logical
    Default = false
    Description = Parameter indicating whether or not to force a reload of the file \
                even if the filename is the same as that currently loaded.
  END
  PARAMETER: File Length Units
    Parameter Type = String
    # Default = m
    Description = Length units read from the file. 
    Local Type=axis
  END
  PARAMETER: File Mass Units
    Parameter Type = String
    Default = kg
    Description = Mass units read from the file. 
  END
  PARAMETER: File Time Units
    Parameter Type = String
    Default = s
    Description = Time units read from the file. 
  END
  PARAMETER: File Temperature Units
    Parameter Type = String
    Default = K
    Description = Temperature units read from the file. 
  END
  PARAMETER: File Angle Units
    Parameter Type = String
    Default = rad
    Description = Angle units read from the file.
  END
  PARAMETER: File Solid Angle Units
    Parameter Type = String
    Default = sr
    Description = Solid Angle units read from the file. 
  END
  PARAMETER: File Chemical Amount Units
    Parameter Type = String
    Default = mol
    Description = Chemical Amount units read from the file. 
  END
  PARAMETER: File is Turbo
    Parameter Type = Logical
    Default = false
    Description = Parameter indicating whether it is a turbo problem
  END
  PARAMETER: File Current Units
    Parameter Type = String
    Default = A
    Description = Current units read from the file. 
  END
  PARAMETER: File Light Units
    Parameter Type = String
    Default = cd
    Description = Light units read from the file. 
  END
  PARAMETER: File Money Units
    Parameter Type = String
    Default = GBP
    Description = Money units read from the file. 
  END
  PARAMETER: Current Results File Version
    Parameter Type = Integer
    Description = The version of the current results file.
  END
  PARAMETER: Particle Track Material List
    Parameter Type = String List
    Description = A list of Particle Track Materials that exist in the RES file. \
                This parameter is empty if no Particle Tracks exist.
  END
  PARAMETER: Expression List
    Parameter Type = String List
    Description = A list of Expressions that were loaded with the res file.\
                These expressions must be deleted when a new RES file is loaded.
  END

 SINGLETON: DATA READER
   CCLObject Class = DataCCLObject
# Unlike Post, Current Results File is Optional because we might create DATA READER in a State file when
# we don't want to specify an actual results file
   Optional Parameter List = Current Timestep, Current Timevalue, Temporary Directory, \
        Force File Reload, File Length Units, File Mass Units, File Time Units, \
        File Temperature Units, File Angle Units, File Light Units, File Money Units, \
        File Current Units, File Solid Angle Units, File Chemical Amount Units, Current Results File

   Internal Parameter List = Current Results File Version, \
        Particle Track Material List, Expression List, File is Turbo

   Allowed Parent List = ROOT
   Description = This object contains the settings used to read results files into \
               the post-processor.  It is used by the "load" action.
    PARAMETER: File Length Units
         Default = m
    END
 END

# Although the Export object does not require a scheduler, it is added to make
# the system work since the Location parameter is a scheduled parameter (since
# it is used elsewhere).
SINGLETON: EXPORT
   Category = deletable
   Essential Parameter List = Export File
   Optional Parameter List = Location List, Variable List, Include Header, Null Token, \
                             Overwrite, Precision, Vector Display, Separator, \
                             Vector Brackets
   Allowed Parent List = ROOT
   Scheduler = top
   Description = Holds parameters which control the export of data to an external \
                 text file.
END

# SESSION AND STATE OBJECTS:

SINGLETON: SESSION
  Category = deletable
  Essential Parameter List = Session Filename
  Optional Parameter List = Write Session Mode
  Allowed Parent List = ROOT
  Description = Stores parameters used by the readsession command.
END

SINGLETON: STATE
  Category = deletable
  Essential Parameter List = State Filename
  Optional Parameter List = Read State Mode, Save State Mode, \
        Load Data, Save State Objects
  Description = Stores parameters used by the readstate and savestate commands.
  Allowed Parent List = ROOT
END

# VIEWER PARAMETRS/OBJECTS

PARAMETER: Viewport Layout
  Parameter Type = String
  Default = No Split
  Allowed String List = No Split, Vertical Split, Horizontal Split, Horizontal And Left Split, \
    Vertical And Top Split, Horizontal And Right Split, Vertical And Bottom Split, \
    Horizontal And Vertical Split
  Local Type = top
  Description = Specifies the layout of viewports.
END

PARAMETER: X Split
  Parameter Type = Real
  Local Type = top
  Remote Type = expression
  Default = 0.5
  Description = The normalized location of the vertical viewport \
                splitter.
END
PARAMETER: Y Split
  Parameter Type = Real
  Local Type = top
  Remote Type = expression
  Default = 0.5
  Description = The normalized location of the horizontal viewport \
                splitter.
END
PARAMETER: Background Type
  Parameter Type = String
  Default = Colour
  Allowed String List = Colour, Image
  Local Type = render
  Description = Specifies the type of background to use in the viewer.
END
PARAMETER: Background Colour Type
  Parameter Type = String
  Default = Top-Bottom Gradient
  Allowed String List = Solid, Top-Bottom Gradient, Left-Right Gradient, \
        Diagonal Gradient
  Local Type = render
  Description = Specifies the type of background colour gradient to use \
        in the viewer.
END
PARAMETER: Background Colour
  Parameter Type = Real List
  Local Type = render
  Default = 0, 0.5, 1
  Parameter Category = RGBColour
  Description = Defines the R, G and B values for the viewer background colour.
END
PARAMETER: Background Colour 2
  Parameter Type = Real List
  Local Type = render
  Default = 1, 1, 1
  Parameter Category = RGBColour
  Description = Defines the R, G and B values for the second viewer background colour \
        (used for gradients)
END
PARAMETER: Background Image Type
  Parameter Type = String
  Allowed String List = Predefined, Custom
  Default = Predefined
  Local Type = render
  Description = The type of image to use.
END
PARAMETER: Background Image
  Parameter Type = String
  Allowed String List = Mountains, Earth West, Earth East
  Default = Mountains
  Local Type = render
  Description = The predefined image to use
END
PARAMETER: Background Image Mapping
  Parameter Type = String
  Allowed String List = Flat, Spherical
  Default = Flat
  Local Type = render
  Description = Flat - image is mapped as a flat background; Spherical - image is \
        mapped to a background sphere (must have 2x1 width to height pixel ratio)
END
PARAMETER: Background Image File
  Parameter Type = String
  Local Type = render
  Description = The image file to use for the viewer background.
END
PARAMETER: Global Text Colour
  Parameter Type = Real List
  Local Type = text colour
  Default = 0, 0, 0
  Parameter Category = RGBColour
  Description = Defines the global colour used for Text objects
END
PARAMETER: Global Edge Colour
  Parameter Type = Real List
  Local Type = edge colour
  Default = 0, 0, 0
  Parameter Category = RGBColour
  Description = Defines the global colour used for mesh edges
END
PARAMETER: Maximized Viewport
  Parameter Type = Integer
  Default = -1
  Local Type = render
  Description = If set to a viewport number (1-4), the viewport will be \
        resized to fill up the screen, regardless of the viewport layout.
END
PARAMETER: Viewport 1 View
  Parameter Type = String
  Local Type = top
  Remote Type = top
  Description = Specifies the VIEW that Viewport 1 should display.
END
PARAMETER: Viewport 2 View
  Parameter Type = String
  Local Type = top
  Remote Type = top
  Description = Specifies the VIEW that Viewport 2 should display.
END
PARAMETER: Viewport 3 View
  Parameter Type = String
  Local Type = top
  Remote Type = top
  Description = Specifies the VIEW that Viewport 3 should display.
END
PARAMETER: Viewport 4 View
  Parameter Type = String
  Local Type = top
  Remote Type = top
  Description = Specifies the VIEW that Viewport 4 should display.
END
PARAMETER: View Length Units
  Parameter Type = String
  Default = m
  Description = Length units used in viewer
  Local Type = ruler
END
PARAMETER: Synchronize Camera
  Parameter Type = Boolean
  Default = false
  Local Type = render
  Description = Specifies if cameras in the active views will be synchronized.
END
PARAMETER: Viewer Eye Point
  Paramter Type = String
  Allowed String List = Normal, Stereo, Split
  Local Type = render
  Default = Normal
  Description = Specifies whether to place the viewer in a Stereo mode.
END
PARAMETER: Viewer Camera Z
  Paramter Type = Real
  Local Type = render
  Default = -5
  Description = Specifies the distance from the scene origin to the screen plane
END
PARAMETER: Viewer Eye Separation
  Parameter Type = Real
  Local Type = render
  Default = 5
  Description = Specifies the distance between the eyes for Stereo Mode.  A larger \
                number will increase the stereo effect, and a smaller number will \
                decrease the stereo effect.
END

SINGLETON: VIEWPORT MANAGER
  CCLObject Class = ViewportManagerCCLObject
  Scheduler = top, render, edge colour, text colour, ruler
  Optional Parameter List = Viewport Layout, \
    X Split, Y Split, Maximized Viewport, \
    Background Type, Background Colour Type, Background Image Type, \
    Background Image, Background Image File, Background Image Mapping, \
    Background Colour, Background Colour 2, \
    Global Edge Colour, Global Text Colour, \
    Viewport 1 View, Viewport 2 View, Viewport 3 View, Viewport 4 View, \
    Synchronize Camera, View Length Units, \
    Viewer Eye Point, Viewer Camera Z, Viewer Eye Separation
  Allowed Parent List = ROOT
  Description = This object stores the parameters that control the\
            global viewport controls.
END

 PARAMETER: Camera Mode
   Parameter Type = String
   Local Type = camera
   Allowed String List = Standard, User Specified
   Default = Standard
   Description = Defines the current viewer camera mode. It can be either \
        Standard (specified by Standard View parameter) or User Specified, in \
        which case a CAMERA object has to be defined and specified in \
        User Camera parameter.
 END
 PARAMETER: Standard View
   Parameter Type = String
   Local Type = camera
   Allowed String List = +X, +Y, +Z, -X, -Y, -Z, \
        Isometric, Isometric X, Isometric Y, Isometric Z
   Default = +Y
   Description = Defines one of the standard views in the viewer (Note that \
        Camera Mode has to be set to Standard for this parameter to have \
        effect).
 END
 PARAMETER: Background Colour
   Parameter Type = Real List
   Local Type = render
   Default = 0, 0, 0
   Parameter Category = RGBColour
   Description = Defines the R, G and B values for the viewer background colour.
 END
 PARAMETER: Projection
   Parameter Type = String
   Local Type = render
   Allowed String List = Perspective, Orthographic
   Default = Orthographic
   Description = Defines the current projection mode in the viewer. It can be \
        either Perspective or Orthographic.
 END
 PARAMETER: Axis Visibility
   Parameter Type = Logical
   Default = true
   Local Type = render
   Description = Toggles the axis visibility in the viewport.
 END
 PARAMETER: Ruler Visibility
   Parameter Type = Logical
   Default = true
   Local Type = render
   Description = Toggles the ruler visibility in the viewport.
 END
 PARAMETER: Border Visibility
   Parameter Type = Logical
   Default = false
   Local Type = render
   Description = Toggles the viewport border visibility in the viewer.
 END
 PARAMETER: Light Angle
   Parameter Type = Real List
   Local Type = render
   Default = 110, 110
   Description = Defines the viewer light angles in degrees. The first \
        angle goes from right (0) to left (180), and the second goes from \
        bottom (0) to top (180). 
 END
 PARAMETER: Clip Scene
   Parameter Type = Logical
   Default = false
   Local Type = render
   Description = Toggles the scene clipping plane in the viewer.
 END
 PARAMETER: Clip Plane
   Parameter Type = String
   Local Type = render
   Remote Type = top
   Description = Defines the CLIP PLANE object that is used for scene clipping.
 END
PARAMETER: Object Visibility List
  Parameter Type = String
  Local Type = top
  Description = Specifies the list of objects to ensure are always visible for this view.
END
PARAMETER: Coord Transform
  Parameter Type = String
  Default = Cartesian
   Allowed String List = Cartesian, 3D Meridional, 3D Turbo, \
                         2D Meridional, 2D Blade-to-blade
  Local Type = top
  Description = Specifies the coordinate transformation to apply \
                to all objects shown in this viewport.
END
PARAMETER: Highlight Type
  Parameter Type = String
  Allowed String List = Bounding Box, Wireframe
  Default = Bounding Box
  Local Type = top
  Description = Indicates whether to highlight an object with a bounding box \
        or to use a wireframe of the object.
END

OBJECT: VIEW
  CCLObject Class = TGViewCCLObject
  Category = deletable
  Scheduler = initialize, top, camera, render
  Optional Parameter List = \
    Camera Mode, Standard View, \
    Projection, Axis Visibility, Ruler Visibility, \
    Border Visibility, Light Angle, Clip Scene, \
    Clip Plane, Object Visibility List, \
    Coord Transform, Highlight Type, Use Object Visibility List
  Allowed Parent List = ROOT
  Optional Child List = CAMERA
  Description = This object stores the view settings.
END

PARAMETER: Use Object Visibility List
  Parameter Type = Logical
  Default = off
  Local Type = initialize
END

# Internal (non-modifiable) Engine Objects


  SINGLETON: CEL
   Allowed Parent List = LIBRARY
   Optional Child List = EXPRESSIONS
  END

  SINGLETON: EXPRESSIONS
   CCLObject Class = ExpressionsCCLObject
   Category = internal, deletable
   Rules Option = Allow Any Parameter
   Parameter Name Restriction = CEL
   Allowed Parent List = CEL
   Description = This object holds the definitions of all CEL expressions in the post-processor.
  END

# User Engine Objects

  PARAMETER: Related Object
    Parameter Type = String
    Description = Specifies the Object that this variable is related to. \
                This is only applicable for Variables that are defined as \
                Local to a specific geometry.
  END

  OBJECT: SCALAR VARIABLE
    Category = internal, scalar-variable, variable, fundamental-variable
    Scheduler = top, delete
    CCLObject Class = VariableCCLObject
    Optional Parameter List = Boundary Values, User Units
    Internal Parameter List = VarMin, VarMax, HybridMin, HybridMax, Variable Dimensions, \
        Base Units, Variable, Component Index, \
        Recipe, Has Hybrid Values, User Level, Quantity Type, Related Object
    Context Rule = Recipe
    Allowed Option List = Standard, Vector Component
    CONTEXT: Standard
      Optional Parameter List = Boundary Values
    END
    CONTEXT: Vector Component
      #Essential Parameter List = Variable, Component Index
    END
    Allowed Parent List = ROOT
    Description = A object used to reference the data associated with a scalar \
                quantity in the results file.
  END


  OBJECT: USER SCALAR VARIABLE
    Category = internal, scalar-variable, variable, deletable, user-variable
    Scheduler = top, delete
    CCLObject Class = VariableCCLObject
    Optional Parameter List = Boundary Values, User Units, Recipe
    Internal Parameter List = VarMin, VarMax, HybridMin, HybridMax, Variable Dimensions, \
        Base Units, \
        Has Hybrid Values, User Level, Quantity Type, Related Object
    Context Rule = Recipe
    Allowed Option List = Expression, Frozen Copy
    CONTEXT: Expression
      Essential Parameter List = Expression
    END
    CONTEXT: Frozen Copy
      Essential Parameter List = Variable to Copy
    END
    Allowed Parent List = ROOT
    Description = A object used to reference the data associated with a scalar \
                quantity in the results file.
  END

  PARAMETER: Variable to Copy
    Parameter Type = String
    Local Type = top
    Description = The name of the variable used to create the object. \
                Should be set equal to the name of a currently defined VARIABLE \
                object.
  END

#
 OBJECT: GROUP
   Category = internal
   Scheduler = top, render
   Scheduler Links = top, render
   CCLObject Class = GenericCCLObject
   Essential Parameter List = Member List
   Allowed Parent List = ROOT
   Description = Allows a group of multiple objects to behave as a single object. \
                 Currently only used internally and does not work for graphics, etc.
 END

 OBJECT: DEFAULT INSTANCE TRANSFORM
   CCLObject Class = GeometricCCLObject
   Category = selectable, instance-transformation
   Scheduler = axis, top
   Scheduler Links = axis,top
   Optional Parameter List = Apply Reflection, Apply Translation, \
      Apply Rotation, Reflection Plane, \
      Rotation Axis Type, \
      Principal Axis, \
      Rotation Axis From, \
      Rotation Axis To,\
      Rotation Angle, \
      Full Circle, \
      Angle Definition Method, \
      Number of Components in 360, \
      Translation Vector, \
      Number of Copies
    Internal Parameter List = Object State
   Allowed Parent List = ROOT,USER DEFINED
   Description = Specifies the default instance transformation.
 END

 OBJECT: INSTANCE TRANSFORM
   CCLObject Class = GeometricCCLObject
   Category = selectable, deletable, instance-transformation
   Scheduler = axis, top
   Scheduler Links = axis,top
   Optional Parameter List = Apply Reflection, Apply Translation, \
      Apply Rotation, Reflection Plane, \
      Rotation Axis Type, \
      Full Circle, \
      Number of Copies,\
      Principal Axis, \
      Rotation Axis From, \
      Rotation Axis To,\
      Rotation Angle, \
      Angle Definition Method, \
      Number of Components in 360, \
      Translation Vector
    Internal Parameter List = Object State
   Allowed Parent List = ROOT,USER DEFINED
   Description = Specifies an instance transformation for visibility of \
        the object, consisting of a rotation \
      and a number of copies of the original \
      object to produce.
 END

 SINGLETON: CAMERA
   CCLObject Class = CameraCCLObject
   Category = deletable
   Scheduler = top
   Essential Parameter List = Option
   Optional Parameter List = Send To Viewer
   Allowed Option List = Pivot Point and Quaternion, Pivot Point and Rotation
   CONTEXT: Pivot Point and Quaternion
     Optional Parameter List = Pivot Point, Rotation Quaternion, Scale, \
                               Pan
   END
   CONTEXT: Pivot Point and Rotation
     Optional Parameter List = Pivot Point, Rotation, Scale, \
                               Pan
   END
   Allowed Parent List = ROOT
   Description = Defines a camera that can be used to specify the current view in \
                 the VIEWER object.
 END


OBJECT: LEGEND
   CCLObject Class = OverlayCCLObject
   Category = deletable, selectable
   Scheduler = colour, render
   Scheduler Links = colour, render
   Calculate Function = colour, legendcalc, LegendCalcFunc, \
                        render, legendcalc, LegendCalcFunc
   Essential Parameter List = Legend Plot
   Optional Parameter List = Legend X Justification, Legend Y Justification, Legend Position, \
                             Legend Size, Legend Ticks, Legend Resolution, \
                             Legend Shading, Font, Legend Aspect, Visibility, \
                             Colour, Legend Format, Text Height, Text Rotation, \
                             Legend Title Mode, Legend Title, Show Legend Units,\
                             Legend Orientation, Text Colour Mode
    Internal Parameter List = Object State
   Allowed Parent List = ROOT ,USER DEFINED
   Description = Creates a labelled colour bar to show to legend associated \
                 with the named plot.
END

OBJECT: TEXT
  CCLObject Class = OverlayCCLObject
  Category = deletable, constant-colour, selectable
  Scheduler = colour, render
  Scheduler Links = colour, render
  Calculate Function = colour, textannotationcalc, TextAnnotationCalcFunc, \
                       render, textannotationcalc, TextAnnotationCalcFunc
  Essential Parameter List = Text String, Position Mode
    Internal Parameter List = Object State
  Context Rule = Position Mode
  Allowed Option List = Two Coords, Three Coords
  Optional Parameter List = Text Position, Text Height, \
                        Colour, Overlay Size, Font, Visibility, Text Rotation, \
                        Text Colour Mode
  CONTEXT: Two Coords
    Optional Parameter List = X Justification, Y Justification
  END
  Allowed Parent List = ROOT,USER DEFINED
  Description = A single piece of text.  This text item can be attached to \
        a point on screen (specified in two dimensions), or attached to a point in \
        three dimensions, following that point through any viewer transformations. \
        Font, size, colour, rotation and justification options are provided.
END

SINGLETON: CALCULATOR
  CCLObject Class = DataCCLObject
  Category = internal
  Essential Parameter List = Function, Location
  Optional Parameter List = Verbose
  Internal Parameter List = Result, Result Units
  Context Rule = Function
  Allowed Option List = area, areaAve, areaInt,   ave, count, force, forceNorm, \
                        length, lengthAve, lengthInt, massFlow, massFlowAve, massFlowInt,  \
                        maxVal, minVal, probe, sum, torque, \
                        volume, volumeAve, volumeInt
  CONTEXT: massFlow
    Optional Parameter List = Fluid
  END
  CONTEXT: massFlowAve
    Essential Parameter List = Expression
    Optional Parameter List = Fluid
  END
  CONTEXT: area
    Optional Parameter List = Axis
  END
  CONTEXT: areaAve
    Essential Parameter List = Expression
  END
  CONTEXT: areaInt
    Essential Parameter List = Expression
    Optional Parameter List = Axis
  END
  CONTEXT: ave
    Essential Parameter List = Expression
  END
  CONTEXT: sum
    Essential Parameter List = Expression
  END
  CONTEXT: minVal
    Essential Parameter List = Expression
  END
  CONTEXT: maxVal
    Essential Parameter List = Expression
  END
  CONTEXT:probe
    Essential Parameter List = Expression
  END
  CONTEXT:force
    Essential Parameter List = Axis
    Optional Parameter List = Fluid
  END
  CONTEXT:forceNorm
    Optional Parameter List = Fluid
  END
  CONTEXT:torque
    Essential Parameter List = Axis
    Optional Parameter List = Fluid
  END
  CONTEXT: lengthInt
    Essential Parameter List = Expression
  END
  CONTEXT: lengthAve
    Essential Parameter List = Expression
  END
  Allowed Parent List = ROOT
  Description = This singleton is used by the calculate action to define the \
                function and arguments to be evaluated, and store the Result.
END
PARAMETER: Axis
  Parameter Type = String
  Description = The axis specification for directional quantitative calculations.
END
PARAMETER: Fluid
  Parameter Type = String
  Description = The fluid specification for multiphase quantitative calculations.
END

PARAMETER: Function
  Parameter Type = String
  Description = The context controlling parameter for the CALCULATOR object,  \
                which defines the name of the function to be evaluated.
END
PARAMETER: Verbose
  Parameter Type = Logical
  Default = Off
  Description = Controls if the result of a calculation is written to the screen.
END
PARAMETER: Result
  Parameter Type = String
  Description = The internal parameter for the CALCULATOR and EXPRESSION EVALUATOR \
                object used to  \
                store the results of a function evaluation.
END
PARAMETER: Result Units
  Parameter Type = String
  Description = The internal parameter for the CALCULATOR \
                and EXPRESSION EVALUATOR object used to  \
                store the units of the results of a function evaluation.
END
PARAMETER: Evaluated Expression
  Parameter Type = String
  Local Type = top
  Description =  A CFX Expression Language expression for usage in EXPRESSION EVALUATOR.
END
PARAMETER: Max Result
  Parameter Type = String
  Description = The internal parameter for the MESH CALCULATOR object \
                used to store the max result of evaluation.
END
PARAMETER: Min Result
  Parameter Type = String
  Description = The internal parameter for the MESH CALCULATOR object \
                used to  store the min result of evaluation.
END
PARAMETER: Fraction Outside Limit
  Parameter Type = Real
  Description = The fraction of the nodes of this domain outside the mesh analysis limits
END
PARAMETER: Number of Nodes
  Parameter Type = String
  Description = The internal parameter for the MESH CALCULATOR object \
                used to store the number of nodes.
END

SINGLETON:EXPRESSION EVALUATOR
  CCLObject Class = ExpressionEvaluatorCCLObject
  Category = internal
  Internal Parameter List = Result,Result Units
  Essential Parameter List = Evaluated Expression
  Allowed Parent List = ROOT
  Scheduler = top
  Description = This singleton evaluates the specified Expression and stores \
                the Result.
END

### Rules to allow the inclusion of VARIABLES file
  PARAMETER: Tensor Type
    Parameter Type = String
    Allowed String List = SCALAR,VECTOR,SYMTEN2
    Default = SCALAR
  END
  PARAMETER: Quantity
    #
    # This parameter is very similar to Quantity Type.
    #
    # The problem is that Quantity Type is used in RULES
    # for PARAMETER definition but it has not yet been
    # formally defined itself, so is not available elsewhere.
    # 3.3.2000.
    #
    Parameter Type = String
  END
  PARAMETER: Node Number
    Parameter Type = Integer
    Default = 0
    Local Type = top
    Description = the node number which the point plot will be drawn
  END
  PARAMETER: User Level
    Parameter Type = Integer
    Default = 1
  END
#
# TURBOGRID PARAMETERS AND OBJECTS
#
PARAMETER: Show Surface
  Parameter Type = Logical
  Default = Yes
  Local Type = draw
  Description = Control whether a hub surface (for example) is shown \
                as opposed to a hub curve
END

PARAMETER: Show Curve
  Parameter Type = Logical
  Default = No
  Local Type = draw
  Description = Control whether a hub curve (for example) is shown \
                as opposed to a hub surface
END
PARAMETER: Start Point
  Parameter Type = String
  Local Type = top
  Remote Type = top
  Description = The point name at which the line starts
END
PARAMETER: End Point
  Parameter Type = String
  Local Type = top
  Remote Type = top
  Description = The point name at which the line starts
END
PARAMETER: Intermediate Points
  Parameter Type = String List
  Local Type = top
  Remote Type = top
  Description = Points that lie between the start and end point
END
PARAMETER: Input Filename
   Parameter Type = String
   Description = The filename to read the data from
   Local Type = read data
END
PARAMETER: Topology Filename
   Parameter Type = String
   Description = The filename to read the topology data from
   Local Type = edges
END

PARAMETER: Break Angle
  Parameter Type = Real
  Default = 0.0
  Description = The value of theta where the discontinuity in theta should be
END

#   Default = cue.dat

PARAMETER: Requested Position
    Description = An 'input' parameter - the position we want to move the \
      point to. May not be the point it ends up at if (e.g.) the Point \
      is constrained to a curve.
    Parameter Type = Real List
    Local Type = set
END

  PARAMETER: Actual Position
    Parameter Type = Real List
    Parameter Category = Position
    Description = Actual position of a point specified by other means
  END

PARAMETER: Original Position
  Parameter Type = Real List
  Parameter Category = Position
  Description = Original position of a point that can be moved by the user
END
    
PARAMETER: Requested ART
    Description = An 'input' parameter - the position we want to move the \
      point to. May not be the point it ends up at if (e.g.) the Point \
      is constrained to a curve.
    Parameter Type = Real List
    Local Type = set
END

PARAMETER: Actual ART
  Parameter Type = Real List
  Parameter Category = Position
  Description = Actual position of a point specified by other means
END
    
PARAMETER: AR Location Method
   Description = Method to locate point in A-R space
   Parameter Type = String
   Allowed String List = From A and R, Set A, Set R
   Default = From A and R
   Local Type = set
END
    
PARAMETER: Coordinate Frame Type
    Description = Whether coordinates are cylindrical or Cartesian
    Parameter Type = String
    Allowed String List = Cartesian,Cylindrical
    Default = Cartesian
    Local Type = read data
END

PARAMETER: Input Angle Units
    Description = The units of angle for this file
    Parameter Type = String
    Default = degree
    Local Type = read data
END
    
PARAMETER: Input Length Units
    Description = The units of length for this file
    Parameter Type = String
    Default = m
    Local Type = read data
END

PARAMETER: Recommended Layer Count
    Description = The recommended number of layers based on geometry and topology.
    Parameter Type = Integer
    Default = 2
END    

SINGLETON:GEOMETRY
  Category = selectable, uneditable
  Allowed Parent List = TG DOMAIN,ROOT
  Scheduler = read data
  Optional Parameter List = Hidden in Viewer List, Input Mode, Override ICEM Topo Tolerance, ICEM Topo Tolerance, Flow Path, \
                            Triangulation Tolerance, TGInit Data, Disable CAD Scaling
  Internal Parameter List = Upstream Geometry Loaded
  PARAMETER: Triangulation Tolerance
    Parameter Type = Real
    Local Type = read data
    Default = 0.0
  END  
  PARAMETER: Input Mode
    Parameter Type = String
    Default = Profile Points
    Allowed String List = CAD, Profile Points
    Local Type = read data
  END 
  PARAMETER: TGInit Data
    Parameter Type = String
  END
  PARAMETER: Flow Path
    Parameter Type = String
  END
  PARAMETER: Override ICEM Topo Tolerance
    Parameter Type = Logical
    Default = false
    Local Type = read data
  END 
  PARAMETER: Disable CAD Scaling
    Parameter Type = Logical
    Default = false
    Local Type = read data
  END 
  PARAMETER: ICEM Topo Tolerance
    Parameter Type = Real
    Default = 1e-5
    Local Type = read data
  END 
  PARAMETER: Upstream Geometry Loaded
    Parameter Type = Logical
    Default = false
  END
END

SINGLETON:GEOMETRY ATTRIBUTES
  Category = selectable, uneditable
  Allowed Parent List = ROOT
END

SINGLETON:TOPOLOGY CHOOSER
  Category = selectable, uneditable
  Allowed Parent List = ROOT
END

PARAMETER: Hidden in Viewer List
  Parameter Type = String List
  Default =
  Description = If this is not empty it is the list of objects that were hidden\
                in the viewer by pressing the hide button.
END

SINGLETON: TOPOLOGY SET
  CCLObject Class = TopologysetCCLObject
  Category = selectable, suspendable
  Scheduler = top, surfaces, span geometry, edges, intermediate layers, calc, generate
  Scheduler Links =  top,surfaces,  surfaces,span geometry,  edges,intermediate layers,  edges,calc, \
                     intermediate layers,generate,  calc,generate
  Optional Parameter List =   \
        Machine Type Link, \
        Blade List For Topology Line of Rotation Link, \
        Blade Set For Surfaces Link, \
        Low Periodic List For Topology, \
        High Periodic List For Topology, \
        Topology Surfaces Link, \
        Topology Edges Link, \
        HubShroud Layer Link, \
        Layers Generate Link, \
        Intermediate Layer Link, \
        HubShroud Layer Geometry Link, \
        Mesh Data Link, \
        Span Location, \
        One To One Periodicity Range, \
        Periodic Node Projection, \
        Override Not Matching Periodic Blocks Calculation, \
        Number Of Upstream Not Matching Periodic Blocks, \ 
        Number Of Downstream Not Matching Periodic Blocks, \
        One To One Passage Interfaces, \
        ATM Topology Optimizer, \
        ATM Topology List, \
        Override ATM Topology List, \
        ATM Topology Choice, \
        Override ATM Topology Choice, \
        LE Pinning Line Index, \
        TE Pinning Line Index, \
        Background Mesh Size Control, \
        Base Edge Splits, \
        Override Base Edge Splits, \
        LE Cutoff Upstream Block Background Mesh Edge Count, \
        LE Cutoff Upstream Block Background Mesh Edge Count Override, \
        TE Cutoff Downstream Block Background Mesh Edge Count, \
        TE Cutoff Downstream Block Background Mesh Edge Count Override, \
        LE Cutoff Upstream Block Master Edge Count, \
        TE Cutoff Downstream Block Master Edge Count, \
        LE Cutoff Expansion Factor At Inlet, \
        TE Cutoff Expansion Factor At Outlet, \
        Lock Down ATM Mesh Size, \
        Topology CRC, \
        Conglomeration Retained Vertices List, \
        Override Conglomeration Retained Vertices List, \
        ATM Background Topology Edge Refinement, \
        ATM Cutoff Block Background Mesh Refinement Levels, \
        ATM Stop After Geometry, \
        ATM Periodic Start Vertex, \
        ATM Periodic Start Vertex Use 150 Default Behavior, \
        ATM Cutoff Gradient Reduction Factor, \
        ATM BM Cartesian Mesh Smoothing Iterations, \
        ATM IO Block Optimize Lengths Locally For Cutoff, \
        ATM IO Block Optimize Lengths Locally For Square, \
        ATM IO Block Optimize Lengths Factor, \
        Topology From File, \
        Topology Filename, \
        Number Of Smoothing Iterations, Projection Frequency, Projection Persistence, \
        Smoothing Relaxation, Smoothing Relaxation On Boundary, Smoothing Expansion, \
        Smoothing Space, \
        Use Full TurboTransform For Topology Vertex Locations From Label, \
        Preserve Control Points, \
        Use Transformed Space for Faces, \
        Face Interpolation Type, \
        Match Expansions Across Periodic, \
        Autoquad Face Vertex Counts, \
        Curve Surface Surface Projection Iterations, \
        Use Projection Convergence Optimization, \
        Local Template Directory, \
        Split Mesh Regions At Leading Edge, Split Mesh Regions At Trailing Edge
  Internal Parameter List = Object State, Recommended Layer Count, Valid Topology Choices
  PARAMETER: Object State
    Default = Incomplete
  END
  PARAMETER: ATM Background Topology Edge Refinement
    Local Type = edges
  END
  PARAMETER:Mesh Data Link
    Remote Type Links = surfaces, turbo, edges, tip
    Local Type = surfaces
    Default =
  END
  Allowed Parent List = ROOT
END

PARAMETER: ATM IO Block Optimize Lengths Locally For Cutoff
  Parameter Type = Logical
  Default = false
  Local Type = edges
  Description = If true then ATM IO Block Optimize Lengths Factor is used for blades with cutoff ends. Default is false.
END
PARAMETER: ATM IO Block Optimize Lengths Locally For Square
  Parameter Type = Logical
  Default = true
  Local Type = edges
  Description = If true then ATM IO Block Optimize Lengths Factor is used for blades with square ends. Default is true.
END
PARAMETER: ATM IO Block Optimize Lengths Factor
  Parameter Type = Real
  Default = 0.9
  Local Type = edges
  Description = A number between 0 and 1 where a higher number will reduce the tendency to match topology block edge lengths \
                upstream or downstream of a blade with a cutoff or square end, often resulting in improved mesh quality.
END

PARAMETER: ATM BM Cartesian Mesh Smoothing Iterations
  Parameter Type = Integer
  Local Type = edges
  Default = 10
END

PARAMETER: Machine Type Link
  Parameter Type = string
  Local Type = span geometry
  Remote Type = machine
END

PARAMETER: Curve Surface Surface Projection Iterations
  Parameter Type = Integer
  Default = 30
  Local Type = edges
END

PARAMETER: Use Projection Convergence Optimization
  Parameter Type = Logical
  Default = true
  Local Type = edges
END

PARAMETER: ATM Cutoff Gradient Reduction Factor
  Parameter Type = Real
  Default = 0.5
  Local Type = edges
END

PARAMETER: ATM Background Topology Edge Refinement
  Parameter Type = String List
  Description = This is used to specify edge refinements in the background mesh \
                to improve both the quality of the background mesh and the placement \
                of topology vertices.  It must be in the form of \
                topology name, edge ID, edge refinement, topology name, edge ID, edge refinement, ...
END

PARAMETER: ATM Stop After Geometry
  Parameter Type = Logical
  Default = false
  Local Type = edges
  Description = Only for use by developers to halt topology generation after \
                span geometry creation for ATM topologies.
END

PARAMETER: ATM Cutoff Block Background Mesh Refinement Levels
  Parameter Type = Integer
  Default = 4
  Local Type = edges
END

PARAMETER: Topology From File
  Description = Set true if topology for blade(s) should be set from the file \
                specified by Topology Filename.
  Parameter Type = Logical
  Default = false
  Local Type = edges
END

# Connects LAYER generate (2D mesh) to Topologyset for threaded operation
PARAMETER: Layers Generate Link
  Parameter Type = String List
  Local Type = generate
  Remote Type = generate
END

PARAMETER: Topology Surfaces Link
  Parameter Type = String List
  Local Type = span geometry
  Remote Type = surfaces
END

PARAMETER: Topology Edges Link
  Parameter Type = String
  Local Type = edges
  Remote Type = edges
END

PARAMETER: HubShroud Layer Link
  Parameter Type = String List
  Local Type = edges
  Remote Type = span geometry
END

PARAMETER: Intermediate Layer Link
  Parameter Type = String List
  Local Type = intermediate layers
  Remote Type = span geometry 
END

PARAMETER: HubShroud Layer Geometry Link
  Parameter Type = String List
  Local Type = span geometry
  Remote Type = surfaces
END

PARAMETER: ATM Topology List
  Parameter Type = String List
  Local Type = span geometry
  Definition = The list of topology pieces to be used to create the topology for the \
               ATM topoloy optimizer.  The list contains the names of provided topology \
               pieces or the filename of a user supplied topology piece.  This is only used \
               if Override ATM Topology List is on.
END

PARAMETER: Override ATM Topology List
  Parameter Type = Logical
  Local Type = span geometry
  Default = false
  Definition = If on, use the topology pieces specified in ATM Topology List instead \
               of choosing automatically.
END

PARAMETER: ATM Topology Choice
  Parameter Type = String
  Local Type = span geometry
  Definition = The ATM Topology Choice object used to define the topology.
END

PARAMETER: Override ATM Topology Choice
  Parameter Type = Logical
  Local Type = span geometry
  Default = false
  Definition = If on, use the topology choice specified in ATM Topology Choice instead \
               of choosing automatically.
END

PARAMETER: Valid Topology Choices
  Parameter Type = String List
  Default =
END

PARAMETER: LE Cutoff Upstream Block Background Mesh Edge Count Override
  Parameter Type = Logical
  Local Type = edges
  Default = false
  Definition = If true, use the value in LE Cutoff Upstream Block Background Mesh Edge Count
END

PARAMETER: LE Cutoff Upstream Block Background Mesh Edge Count
  Parameter Type = Integer
  Local Type = edges
  Default = 30
  Definition = If the blade is cutoff at the leading edge, this specifies the \
               number of edge splits in the background mesh freom the edge of the \
               blade to the inlet.
END

PARAMETER: TE Cutoff Downstream Block Background Mesh Edge Count Override
  Parameter Type = Logical
  Local Type = edges
  Default = false
  Definition = If true, use the value in TE Cutoff Downstream Block Background Mesh Edge Count
END

PARAMETER: TE Cutoff Downstream Block Background Mesh Edge Count
  Parameter Type = Integer
  Local Type = edges
  Default = 30
  Definition = If the blade is cutoff at the trailing edge, this specifies the \
               number of edge splits in the background mesh freom the edge of the \
               blade to the outlet.
END

PARAMETER: LE Cutoff Upstream Block Master Edge Count
  Parameter Type = Integer
  Local Type = edges
  Default = 8
  Definition = If the blade is cutoff at the leading edge, this specifies the \
               number of master edges.
END

PARAMETER: TE Cutoff Downstream Block Master Edge Count
  Parameter Type = Integer
  Local Type = edges
  Default = 8
  Definition = If the blade is cutoff at the trailing edge, this specifies the \
               number of master edges.
END

PARAMETER: LE Cutoff Expansion Factor At Inlet
  Parameter Type = Real
  Local Type = edges
  Default = 1.0
  Definition = If the blade is cutoff at the leading edge, this specifies the \
               amount that the topology will expand from the cutoff edge to the \
               inlet.
END

PARAMETER: TE Cutoff Expansion Factor At Outlet
  Parameter Type = Real
  Local Type = edges
  Default = 1.0
  Definition = If the blade is cutoff at the trailing edge, this specifies the \
               amount that the topology will expand from the cutoff edge to the \
               outlet.
END

PARAMETER: LE Pinning Line Index
  Parameter Type = Integer
  Local Type = span geometry
END

PARAMETER: TE Pinning Line Index
  Parameter Type = Integer
  Local Type = span geometry
END

PARAMETER: Background Mesh Size Control
  Parameter Type = Integer
  Local Type = edges
  Default = 8
  Definition = Controls the density of the background mesh for ATM Optimized topologies.
END

PARAMETER: Base Edge Splits
  Parameter Type = Integer List
  Definition = The edge split counts for the master edges for ATM Optimized topologies.
END

PARAMETER: Conglomeration Retained Vertices List
  Parameter Type = String List
  Local Type = edges
  Definition = A list of vertices to preserve through the conglomeration phase of \
               passage centric topologies.  It must be in the form of \
               topology name, vertex ID, topology name, vertex ID, ...
END

PARAMETER: Override Conglomeration Retained Vertices List
  Parameter Type = Logical
  Local Type = edges
  Default = false
  Description = If true, Conglomeration Retained Vertices List will be used to \
                specify the retained vertices during ATM topology conglomeration.
END

PARAMETER: ATM Periodic Start Vertex
  Parameter Type = String List
  Local Type = edges
  Default =
  Definition = The vertex used to start the periodic boundary when converting from \
               passage centric to blade centric.  It must be in the form of \
               topology name, vertex ID
END

PARAMETER: ATM Periodic Start Vertex Use 150 Default Behavior
  Parameter Type = Logical
  Local Type = edges
  Default = false
END

PARAMETER: Override Base Edge Splits
  Parameter Type = Logical
  Default = false
  Definition = If true, use the values specified in Base Edge Splits.  Otherwise, compute \
               default values.
END

PARAMETER: ATM Topology Optimizer
  Parameter Type = Logical
  Local Type = surfaces
  Default = true
  Description = If true, TurboGrid will generate the specified topology with optimized node placement.
END

PARAMETER: Match Expansions Across Periodic
  Parameter Type = Logical
  Local Type = edges
  Default = true
  Definition = Match edge expansions across periodic boundary.
END

PARAMETER: Autoquad Face Vertex Counts
  Parameter Type = Integer List
END

OBJECT: TOPOLOGY
  CCLObject Class = TopologyCCLObject
  Category = 
  Scheduler = surfaces, edges
  Scheduler Links =
  Optional Parameter List =   \
        Topology Definition, \
        Override Topology Pattern Orientation, \
        Leading Edge Topology Definition, \
        Trailing Edge Topology Definition, \
        OGrid, \
        OGrid Distance Factor, \
        OGrid Distance, \
        OGrid Radius, \
        OGrid Curve Representation, \
        Refined OGrid Geometry, \
        Override Blade Blocks Calculation, \
        Number of Blade Blocks, \
        Blade Block Size Distribution, \
        Leading Edge Offset, \
        Trailing Edge Offset, \
        Number Of Constant Blocks Leading To Trailing Edge, \
        Passage Block Length Scale Definition, \
        Number of Passage Blocks, \
        Number of Passage Blocks Across, \
        Block Size Across Passage, \
        Topology Sense Block Counts, \
        Interface Vertex Indices, \
        Topology For Topology Sense Block Counts, \
        Leading Edge Cutoff OGrid Corner Vertices Method, \
        Trailing Edge Cutoff OGrid Corner Vertices Method, \
        Use Improved Topology Heuristics For Upstream And Downstream Blocks, \
        Use Extrapolation From LE And TE For OGrid, \
        Override Blade To Periodic Surface Calculation, \
        Number Of Blocks From Blade To Periodic Surface, \
        First Block Offset From Blade To Periodic Surface, \
        Refined Blade To Periodic Block Count Heuristic, \
        Override Blade To Inlet Surface Calculation, \
        Number Of Blocks From Blade To Inlet Surface, \
        First Block Offset From Blade To Inlet Surface, \
        Number Of Blocks Upstream Of Blade, \
        Override Blade To Outlet Surface Calculation, \
        Number Of Blocks From Blade To Outlet Surface, \
        First Block Offset From Blade To Outlet Surface, \
        Number Of Blocks Downstream Of Blade, \
        Independent JGrid Patterns, \
        Collapse Inlet Blocks, \
        Collapse Outlet Blocks, \
        Topology Matching Across Blade, \
        Topology Matching Definition To Blade, \
        Number Of Vertices Floating On Centerlines, \
        Default Expansion Factor, \
        Project Edges To Inlet, \
        Project Edges To Outlet, \
        Matching Blade Parameterization To Theta, \
        Sharp Leading Edge, \
        Override Sharp Leading Edge Calculation, \
        Sharp Trailing Edge, \
        Override Sharp Trailing Edge Calculation
  Internal Parameter List = Object State, Actual Topology Definition
  Allowed Parent List = TOPOLOGY SET
END

OBJECT:LAYER
  CCLObject Class = LayerCCLObject
  Category = constant-colour,  \
        selectable, viewer-viewable, deletable
  Scheduler = surfaces, span geometry, edges, top, calc, set, generate, symbol, \
              draw, colour, render, edge colour, transform
  Scheduler Links =  surfaces,span geometry,  span geometry,top,  edges,calc,  top,calc,  calc,set,  set,generate, \
                     generate,draw,  transform,draw,  draw,colour,  colour,render,  render,edge colour,  calc,symbol
  Optional Parameter List =   \
        Layers List For Layer, \
        Span Location, Mesh Visibility, Topology Visibility, Master Topology Visibility, \
        Smoothing Iteration Mode, Number Of Smoothing Iterations, Projection Frequency, Projection Persistence, \
        Refined Mesh Smoothing Iteration Mode, Refined Mesh Number Of Smoothing Iterations, Refined Mesh Projection Frequency, Refined Mesh Projection Persistence, \
        Smoothing Space,  \
        Mesh Data Link, HubShroud After Topology Link, Intermediate Layer After Topology Link, Span Geometry Link, Topologyset Surfaces Link, \
        Mesh Data Span Geometry Link, \
        Control Point List, Master Point List, Override Point Size, \
        Use Topology Smoothing Space, User Control Points, Topology CRC, Master Topology CRC, \
        ATM Background Topology Edge Refinement, \
        Transparency, Visibility, \
        Surface Drawing, Draw Faces, Draw Lines, \
        Line Colour, Line Width,Max,Min,Range, \
        Lighting,Colour Mode, Colour,Colour Map,\
        Visibility Of Master Edge Labels, \
        Instancing Transform, Apply Instancing Transform, \
        Specular Lighting, Culling Mode, Colour Variable Boundary Values, \
        Show Curve, Show Surface,Render Type, Turbo Transform, \
        TopologySet Generate To Draw Link
  Internal Parameter List = Object State, \
        Smoothing Iteration Mode Translation, Refined Mesh Smoothing Iteration Mode Translation, \
        Statistic Minimum Face Angle, \
        Statistic Maximum Face Angle, \
        Statistic Maximum Aspect Ratio
  Allowed Parent List = LAYERS
  PARAMETER: ATM Background Topology Edge Refinement
    Local Type = span geometry
  END
  PARAMETER: TopologySet Generate To Draw Link
    Local Type = draw
    Remote Type = generate
    Default = /TOPOLOGY SET
  END
  PARAMETER: HubShroud After Topology Link
    Parameter Type = String List
    Description = Special parameter to force objects to recompute when the TOPOLOGY is updated
    Default =
    Remote Type = edges
    Local Type = top
  END
  PARAMETER: Intermediate Layer After Topology Link
    Parameter Type = String List
    Description = Special parameter to force objects to recompute when the TOPOLOGY is updated
    Default =
    Remote Type = intermediate layers
    Local Type = top
  END

END

OBJECT:LAYER PREVIEW
  CCLObject Class = LayerPreviewCCLObject
  Category = constant-colour,  \
             viewer-viewable
  Scheduler = top, transform, colour, render
  Scheduler Links =  colour, render
  Optional Parameter List =   \
        Transparency, Visibility, \
        Surface Drawing, Draw Faces, Draw Lines, \
        Line Colour, Line Width,Max,Min,Range, \
        Lighting,Colour Mode, Colour,Colour Map,\
        Instancing Transform, Apply Instancing Transform, \
        Specular Lighting, Culling Mode, Colour Variable Boundary Values, \
        Show Curve, Show Surface,Render Type, Turbo Transform
  Allowed Parent List = LAYER
END

OBJECT: CONTROL POINT
  Category = deletable, constant-colour, viewer-viewable
  CCLObject Class = ControlPointCCLObject
  Scheduler = set,constraint,transform,calc,top,colour,symbol,render
  Scheduler Links =  set,calc,calc,top,constraint,calc,\
              transform, top, top, colour, colour, symbol, symbol, render
  Allowed Option List = Not Periodic,Master,Slave
  Optional Parameter List =   Layers List For Control Point, \
                              Vertex ID, Move Action, Requested Position, \
                              Movement Constraint, Frame of Reference, \
                              Symbol Size,Point Symbol,Normalized, \
                              Transparency, Visibility,\
                              Surface Drawing, Draw Faces, Draw Lines, \
                              Line Colour, Line Width, Colour Map,\
                              Lighting,Colour Mode, Colour, Colour Variable Boundary Values, \
                              Specular Lighting, Culling Mode, Initializer, Turbo Transform, Symbol Control Object, \
                              Instancing Transform, Apply Instancing Transform, \
                              Layer Render Link, Highlight Type, CP Topology Link, \
                              Layer CM Ready Link
  Internal Parameter List = Actual Position, Original Position
  Allowed Parent List = LAYER
  PARAMETER: Layer CM Ready Link
    Remote Type = calc
    Local Type = calc
  END
END

OBJECT: MASTER POINT
  Category = deletable, constant-colour, viewer-viewable
  CCLObject Class = ControlPointCCLObject
  Scheduler = set,constraint,transform,calc,top,colour,symbol,render
  Scheduler Links =  set,calc,calc,top,constraint,calc,\
              transform, top, top, colour, colour, symbol, symbol, render
  Optional Parameter List = Layers List For Control Point, \
                            Vertex ID, Move Action, Requested Position, \
                            Distribute On Master Edge, Fixed Point On Master Edge, \
                            Movement Constraint, Frame of Reference, \
                            Symbol Size,Point Symbol,Normalized, \
                            Transparency, Visibility,\
                            Surface Drawing, Draw Faces, Draw Lines, \
                            Line Colour, Line Width, Colour Map,\
                            Lighting,Colour Mode, Colour, Colour Variable Boundary Values, \
                            Specular Lighting, Culling Mode, Initializer, Turbo Transform, Symbol Control Object, \
                            Instancing Transform, Apply Instancing Transform, \
                            Layer Render Link, Highlight Type, CP Topology Link, \
                            Layer CM Ready Link
  Internal Parameter List = Actual Position, Original Position
  Allowed Parent List = LAYER
  PARAMETER: Layer CM Ready Link
    Remote Type = top
    Local Type = calc
  END
END

PARAMETER: Layer CM Ready Link
  Parameter Type = String List
  Default = .
END

PARAMETER: Visibility Of Master Edge Labels
  Parameter Type = Logical
  Local Type = render
  Default = false
  Description = Draw labels to show master edge indices for ATM topologies.
END

PARAMETER: CP Topology Link
  Parameter Type = String
  Local Type = 
  Remote Type = 
  Default = /TOPOLOGY SET
END

OBJECT: EDGE SPLIT CONTROL
  Category = selectable, deletable, constant-colour
  CCLObject Class = EdgeSplitControlCCLObject
  Scheduler = top, set
  Scheduler Links = top, set
  Optional Parameter List = Edge Name, Chain Edge Index, Split Factor, \
                            Actual Edge Count, Base Edge Count, Automatic, \
                            Boundary Layer Name, \
                            Target First Element Offset, Target First Element YPlus, \
                            Edge Split Control Mesh Data Link
  Internal Parameter List = Actual First Element Offset, Actual First Element YPlus, \
                            Actual Minimum Expansion Rate, Actual Maximum Expansion Rate, \
                            Minimum Expansion Rate Bad, Maximum Expansion Rate Bad, \
                            Object State
  Allowed Parent List = MESH DATA
END

PARAMETER: Minimum Expansion Rate Bad
  Parameter Type = Logical
  Default = false
END

PARAMETER: Maximum Expansion Rate Bad
  Parameter Type = Logical
  Default = false
END

PARAMETER:Edge Split Control Mesh Data Link
  Parameter Type = String List
  Default = /MESH DATA
  Remote Type = top
  Local Type = set
END

PARAMETER: Boundary Layer Specification Method
  Parameter Type = String
  Allowed String List = Split Factor, Target First Element Offset, Proportional
  Default = Proportional
  Local Type = top
  Description = Controls how the boundary layers for ATM topologies are specified.
END

PARAMETER: Target First Element Offset
  Parameter Type = Real
  Default = 0.01
  Local Type = set
  Remote Type = expression
  Description = Targeted absolute distance of first vertex away from blade.
END

PARAMETER: Actual First Element Offset
  Parameter Type = Real
END

PARAMETER: Target First Element YPlus
  Parameter Type = Real
  Default = 1.0
  Local Type = set
  Remote Type = expression
  Description = Targeted Y+ offset of first vertex away from blade.
END

PARAMETER: Actual First Element YPlus
  Parameter Type = Real
END

PARAMETER: Actual Minimum Expansion Rate
  Parameter Type = Real
END

PARAMETER: Actual Maximum Expansion Rate
  Parameter Type = Real
END

PARAMETER: Automatic
  Parameter Type = Logical
  Default = Off
  Local Type = set
END

PARAMETER: Statistic Minimum Face Angle
  Parameter Type = Real List
  Default =
END

PARAMETER: Statistic Maximum Face Angle
  Parameter Type = Real List
  Default =
END

PARAMETER: Statistic Maximum Aspect Ratio
  Parameter Type = Real List
  Default =
END

PARAMETER: Use Transformed Space for Faces
  Parameter Type = Logical
  Default = on
  Local Type = edges
  Definition = Controls whether topology faces uses transform space to place \
               internal vertices.
END

PARAMETER: Face Interpolation Type
  Parameter Type = String
  Default = SNWE
  Local Type = edges
  Definition = Controls type of interpoation when generating vertrices and edges in topology.
  Allowed String List = SN, WE, SNWE
END

PARAMETER: Use Improved Element Matching At OGrid
  Parameter Type = Logical
  Default = on
  Local Type = top
  Definition = Controls whether element matching at the OGrid assumes a uniform distribution\
               or an average true distribution in the OGrid.
END

PARAMETER: Edge Name
  Description = The name of a topology edge.
  Parameter Type = String
  Local Type = top
END

PARAMETER: Boundary Layer Name
  Description = The name of the blade or object for which the Edge Split Control \
                is specifying the boundary layer info.
  Parameter Type = String
END

PARAMETER: Chain Edge Index
  Description = The index of a specific chain edge in a topology edge.
  Parameter Type = Integer
  Local Type = top
END

PARAMETER: Split Factor
  Description = A multiplier for the default edge split number.
  Parameter Type = Real
  Default = 1.0
  Local Type = set
  Remote Type = expression
END

PARAMETER: Actual Edge Count
  Description = The actual edge count that will be used as a result of the split factor.
  Parameter Type = Integer
END

PARAMETER: Base Edge Count
  Description = The edge count that would be used without the factor.
  Parameter Type = Integer
END

PARAMETER: Render Type
    Description = Controls which type of mesh to render
    Parameter Type = String
END

PARAMETER: Preserve Control Points
    Description = If true, then any existing control points will be maintained if the \
                  topology changes.  Otherwise they are deleted
    Parameter Type = Logical
    Default = No
END

PARAMETER: Override Point Size
    Description = If true, then control point symbol size specified by user, otherwise it is calculated
    Parameter Type = Logical
    Local Type = symbol
    Default = No
END

PARAMETER: User Control Points
    Description = If false, layer topology automatically generated from Topology object \
                  otherwise manual placement of points is enabled
    Parameter Type = Logical
    Default = Yes
    Local Type = top
END

PARAMETER: Topology CRC
    Description = A number uniquely identifying a particular topology
    Parameter Type = Integer
    Default = -1
END

PARAMETER: Master Topology CRC
    Description = A number uniquely identifying a particular master topology
    Parameter Type = Integer List
    Default = -1
END

PARAMETER: Mesh Visibility
    Description = Controls display of the refined mesh
    Parameter Type = Logical
    Default = No
    Local Type = render
END

PARAMETER: Topology Visibility
    Description = Controls display of the topology mesh
    Parameter Type = Logical
    Default = No
    Local Type = render
END

PARAMETER: Master Topology Visibility
    Description = Controls display of the master topology mesh
    Parameter Type = Logical
    Default = Yes
    Local Type = render
END

PARAMETER: Domain Visibility
    Description = Controls display of the walls surrounding the inlet/outlet domains
    Parameter Type = Logical
    Default = No
    Local Type = draw
END

PARAMETER: Use Topology Smoothing Space
    Description = Controls source of smoothing space parameter for layers
    Parameter Type = Logical
    Default = Yes
    Local Type = top
END

PARAMETER: Vertex ID
    Description = ID of vertex in connected mesh the control point is attached to
    Parameter Type = Integer
    Default = -1
END

PARAMETER: Move Action
    Description = Action to be performed when point is moved
    Parameter Type = String
    Default = Find Vertex
    Allowed String List = Find Vertex, Move Point
END

PARAMETER: Movement Constraint
    Description = Constraints on motion of control point
    Parameter Type = String
    Default = Surface
    Allowed String List = Point, Curve, Surface
END

PARAMETER: Distribute On Master Edge
    Description = Logical to control distribution of vertices on master edge
    Parameter Type = Real
    Default = 0.0
    Local Type = set
    Remote Type = expression
END

PARAMETER: Fixed Point On Master Edge
    Description = If true, this point will not react to distributions from other \
                  other master points on the master edge.
    Parameter Type = Logical
    Default = off
    Local Type = set
END

PARAMETER: Frame of Reference
    Description = Constraints on motion of control point
    Parameter Type = String
    Default = Absolute
    Allowed String List = Absolute, Relative
END

PARAMETER: Layers List For Layer
  Parameter Type = String List
  Description = Layers object
  Default = /LAYERS
  Remote Type = top
  Local Type = top
END

PARAMETER: Layers List For Control Point
  Parameter Type = String List
  Description = Layers object
  Remote Type = top
  Local Type = constraint
END

PARAMETER: Blade List For Topology Line of Rotation Link
  Parameter Type = String List
  Description = Makes the link between blade and topology so that when one of the \
     Line of Rotation parameters is changed the topology fires correctly.
  Remote Type = edges
  Local Type = edges
END

PARAMETER: Blade Set For Surfaces Link
  Parameter Type = String List
  Description = Makes the link between blade and topology so that when one of the \
     Line of Rotation parameters is changed the topology fires correctly.
  Remote Type = set
  Local Type = surfaces
END

PARAMETER: Blade List For Mesh
  Parameter Type = String List
  Description = List of the Blade objects in the domain
  Remote Type = tip
  Local Type = turbo
END

PARAMETER: Periodic List For Mesh
  Parameter Type = String List
  Description = List of the Periodic objects in the domain
  Remote Type = trimmed
  Local Type = turbo
  Default = /GEOMETRY/LOW PERIODIC, /GEOMETRY/HIGH PERIODIC
END

PARAMETER: Inlet List For Topology
  Parameter Type = String List
  Description = List of the Inlet objects in the domain
  Remote Type = top
  Local Type = top
END

PARAMETER: Outlet List For Topology
  Parameter Type = String List
  Description = List of the Outlet objects in the domain
  Remote Type = top
  Local Type = top
END

PARAMETER: Low Periodic List For Topology
  Parameter Type = String List
  Description = List of the Low Periodic objects in the domain
  Remote Type = trimmed
  Local Type = top
END

PARAMETER: High Periodic List For Topology
  Parameter Type = String List
  Description = List of the High Periodic objects in the domain
  Remote Type = trimmed
  Local Type = top
END

PARAMETER: Topology Definition
    Description = Set method for topology generation
    Parameter Type = String
    Allowed String List = Automatic, H-Grid, J-Grid, H/J-Grid, H-Grid Dominant, None
    Default = None
    Local Type = edges
END

PARAMETER: Actual Topology Definition
    Description = This is set by the TOPOLOGY object to reflect the mode that was read from the file. \
       The values should be the same as Topology Definition
    Parameter Type = String
    Allowed String List = Automatic, From File, H-Grid, J-Grid, H/J-Grid, H-Grid Dominant, None
    Default = None
END

PARAMETER: Override Topology Pattern Orientation
    Description = When true, use the user specified topology patterns at the \
                  leading and trailing edges
    Parameter Type = Logical
    Default = false
    Local Type = edges
END

PARAMETER: Leading Edge Topology Definition
    Description = Set topology type for leading edge
    Parameter Type = String
    Allowed String List = H-Grid, J-Grid, C-Grid, H-Grid Dominant, L-Grid
    Default = J-Grid
    Local Type = edges
END

PARAMETER: Trailing Edge Topology Definition
    Description = Set topology type for trailing edge
    Parameter Type = String
    Allowed String List = H-Grid, J-Grid, C-Grid, H-Grid Dominant, L-Grid
    Default = J-Grid
    Local Type = edges
END

PARAMETER: Matching Blade Parameterization To Theta
    Description = Matching Blade Parameterization To Theta
    Parameter Type = String
    Allowed String List = Same, Opposite, Automatic
    Default = Automatic
    Local Type = surfaces
END

PARAMETER: OGrid
    Description = Controls existence of O-grid in topology
    Parameter Type = Logical
    Default = Yes
    Local Type = surfaces
END

PARAMETER: Refined OGrid Geometry
    Description = Controls generation of refined O-grid geometry in topology
    Parameter Type = Logical
#    Default = Yes  - defaulting for this parameter is handled in TopologyCCLObject - backward compatibility issues
    Local Type = surfaces
END

PARAMETER: Refined Blade To Periodic Block Count Heuristic
    Description = Controls use of refined blade to periodic block count heuristic in topology
    Parameter Type = Logical
#    Default = Yes  - defaulting for this parameter is handled in TopologyCCLObject - backward compatibility issues
    Local Type = edges
END

PARAMETER: OGrid Distance Factor
    Description = Factor controlling O-grid distance
    Parameter Type = Real
    Default = 0.5
    Local Type = surfaces
    Remote Type = expression
END

PARAMETER: OGrid Distance
    Description = O-grid distance
    Parameter Type = Real
#    Local Type = edges
END

PARAMETER: OGrid Radius
    Description = O-grid radius
    Parameter Type = Real
#    Local Type = edges
END

 PARAMETER: OGrid Curve Representation
  Parameter Type = String
  Default = Bspline
  Allowed String List = Piece-wise linear, Bspline
  Local Type = surfaces
  Description = Specifies if the curve representation of O-grid is Ruled or Bspline.
 END

 PARAMETER: Leading Edge Cutoff OGrid Corner Vertices Method
  Parameter Type = String
  Default = Project To OGrid
  Allowed String List = At Same AR, Project To OGrid
  Local Type = edges
  Description = Specifies if leading edge cutoff O-grid corner vertices are or At Same AR or Project To OGrid from corresponding point on blade.
 END

 PARAMETER: Trailing Edge Cutoff OGrid Corner Vertices Method
  Parameter Type = String
  Default = Project To OGrid
  Allowed String List = At Same AR, Project To OGrid
  Local Type = edges
  Description = Specifies if trailing edge cutoff O-grid corner vertices are or At Same AR or Project To OGrid from corresponding point on blade.
 END

 PARAMETER: Use Improved Topology Heuristics For Upstream And Downstream Blocks
  Description = Use improved topology heuristics for upstream and downstream blocks 
  Parameter Type = Logical
  Default = Yes
  Local Type = edges
 END

 PARAMETER: Use Extrapolation From LE And TE For OGrid
  Description = Use extrapolation from LE And TE for OGrid 
  Parameter Type = Logical
  Default = Yes
  Local Type = surfaces
 END

PARAMETER: Override Blade Blocks Calculation
    Description = When true, use the following 3 parameters, otherwise compute defaults
    Parameter Type = Logical
    Default = false
    Local Type = edges
END

PARAMETER: Number of Blade Blocks
    Description = Number of topological blocks along shortest side of blade
    Parameter Type = Integer
    Default = 5
    Local Type = edges
END

PARAMETER: Blade Block Size Distribution
    Description = Blade block size distribution
    Parameter Type = String
    Allowed String List = Uniform, Nonuniform
    Default = Uniform
    Local Type = edges
END

PARAMETER: Number Of Constant Blocks Leading To Trailing Edge
    Description = Number of constant size elements from leading to trailing edge
    Parameter Type = Integer
    Default = 0
    Local Type = edges
END

PARAMETER: Leading Edge Offset
    Description = Relative offset of first vertex away from leading edge
    Parameter Type = Real
    Default = 0.0
    Local Type = edges
    Remote Type = expression
END

PARAMETER: Trailing Edge Offset
    Description = Relative offset of first vertex away from trailing edge
    Parameter Type = Real
    Default = 0.0
    Local Type = edges
    Remote Type = expression
END

PARAMETER: Number of Passage Blocks
    Description = Number of topological blocks in passage from inlet to outlet
    Parameter Type = Integer
    Default = 10
    Local Type = edges
END

PARAMETER: Passage Block Length Scale Definition
    Description = Set method for defining background block length scale for passage
    Parameter Type = String
    Allowed String List = Blocks Along Passage, Blocks Across Passage, Block Size Across Passage
    Default = Blocks Across Passage
    Local Type = edges
END

PARAMETER: Number of Passage Blocks Across
    Description = Number of topological blocks across the passage between periodic surfaces
    Parameter Type = Integer
    Default = 6
    Local Type = edges
END

PARAMETER: Block Size Across Passage
    Description = Block size across passage
    Parameter Type = Real
    Default = 0.15
    Local Type = edges
    Remote Type = expression
END

PARAMETER: Topology Sense Block Counts
    Description = Topology sense block counts
    Parameter Type = Integer List
    Default = -1, -1, -1, -1, -1, -1, -1, -1
    Local Type = edges
END

PARAMETER: Topology For Topology Sense Block Counts
    Description = Topology for topology sense block counts
    Parameter Type = String
    Default = None
    Local Type = edges
END

PARAMETER: Interface Vertex Indices
    Description = Interface vertex indices
    Parameter Type = Integer List
    Default = -1, -1
    Local Type = edges
END

PARAMETER: Span Location
    Description = Span location
    Parameter Type = Real
    Default = 0.5
    Local Type = surfaces
    Remote Type = expression
END

PARAMETER: Periodic Node Projection
    Description = Set method for periodic node projection
    Parameter Type = String
    Allowed String List = Float on Curves, Float on Surface
    Default = Float on Surface
    Local Type = edges
END

PARAMETER: One To One Passage Interfaces
    Description = When true, use one-to-one matching of vertices at interface between adjacent passages
    Parameter Type = Logical
    Default = true
    Local Type = edges
END

PARAMETER: One To One Periodicity Range
    Description = Set method for specifying one-to-one periodicity range
    Parameter Type = String
    Allowed String List = Full, Between Blades, Between Blades & Upstream, \
                          Between Blades & Downstream, None
    Default = Full
    Local Type = edges
END

PARAMETER: Override Not Matching Periodic Blocks Calculation
    Description = When true, use the following 2 parameters, otherwise compute defaults
    Parameter Type = Logical
    Default = false
    Local Type = edges
END

PARAMETER: Number Of Upstream Not Matching Periodic Blocks 
    Description = Number of upstream not matching periodic blocks
    Parameter Type = Integer
    Default = 0
    Local Type = edges
END

PARAMETER: Number Of Downstream Not Matching Periodic Blocks 
    Description = Number of downstream not matching periodic blocks
    Parameter Type = Integer
    Default = 0
    Local Type = edges
END

PARAMETER: Topology Matching Across Blade
    Description = Logical for setting topology matching across the blade
    Parameter Type = Logical
    Default = No
    Local Type = edges
END

PARAMETER: Topology Matching Definition To Blade
    Description = Set topology matching definition (orthogonality method) across the blade 
    Parameter Type = String
    Allowed String List = Smoothing, Node Distribution
    Default = Smoothing
    Local Type = edges
END

PARAMETER: OGrid Distance Definition
    Description = Set method for OGrid distance definition
    Parameter Type = String
    Allowed String List = Proportional to Width, Constant, Proportional to Radius
    Default = Proportional to Radius
    Local Type = surfaces
END

PARAMETER: Smoothing Space
    Description = Space for smoothing topology
    Parameter Type = String
    Allowed String List = Cartesian, Blade to Blade
    Default = Blade to Blade
    Local Type = edges
END

PARAMETER: Number Of Vertices Floating On Centerlines
    Description = Number of vertices floating on centerlines
    Parameter Type = Integer
    Default = 0
    Local Type = edges
END

PARAMETER: Override Blade To Periodic Surface Calculation
    Description = When true, use the following 2 parameters, otherwise compute defaults
    Parameter Type = Logical
    Default = false
    Local Type = edges
END

PARAMETER: Number Of Blocks From Blade To Periodic Surface
    Description = Number of blocks from the blade to the periodic surface
    Parameter Type = Integer
    Default = 0
    Local Type = edges
END

PARAMETER: First Block Offset From Blade To Periodic Surface
    Description = Relative offset of first block away from blade towards the periodic surface
    Parameter Type = Real
    Default = 0.0
    Local Type = edges
    Remote Type = expression
END

PARAMETER: Override Blade To Inlet Surface Calculation
    Description = When true, use the following 2 parameters, otherwise compute defaults
    Parameter Type = Logical
    Default = false
    Local Type = edges
END

PARAMETER: Number Of Blocks From Blade To Inlet Surface
    Description = Number of blocks from the blade to the inlet surface
    Parameter Type = Integer
    Default = 0
    Local Type = edges
END

PARAMETER: First Block Offset From Blade To Inlet Surface
    Description = Relative offset of first block away from blade towards the inlet surface
    Parameter Type = Real
    Default = 0.0
    Local Type = edges
    Remote Type = expression
END

PARAMETER: Override Blade To Outlet Surface Calculation
    Description = When true, use the following 2 parameters, otherwise compute defaults
    Parameter Type = Logical
    Default = false
    Local Type = edges
END

PARAMETER: Number Of Blocks From Blade To Outlet Surface
    Description = Number of blocks from the blade to the outlet surface
    Parameter Type = Integer
    Default = 0
    Local Type = edges
END

PARAMETER: First Block Offset From Blade To Outlet Surface
    Description = Relative offset of first block away from blade towards the outlet surface
    Parameter Type = Real
    Default = 0.0
    Local Type = edges
    Remote Type = expression
END

PARAMETER: Number Of Blocks Upstream Of Blade
    Description = Number blocks upstream of leading edge of blade
    Parameter Type = Integer
    Default = 0
    Local Type = edges
END

PARAMETER: Number Of Blocks Downstream Of Blade
    Description = Number blocks downstream of trailing edge of blade
    Parameter Type = Integer
    Default = 0
    Local Type = edges
END

PARAMETER: Independent JGrid Patterns
    Description = Logical to control use of independent J-Grid patterns at the leading and trailing edges
    Parameter Type = Logical
    Default = on
    Local Type = edges
END

PARAMETER: Project Edges To Inlet
    Description = Logical to control projection of topology edges near inlet to inlet
    Parameter Type = Logical
    Default = off
    Local Type = edges
END

PARAMETER: Project Edges To Outlet
    Description = Logical to control projection of topology edges near outlet to outlet
    Parameter Type = Logical
    Default = off
    Local Type = edges
END

PARAMETER: Collapse Inlet Blocks
    Description = Logical to control collapse of blocks adjacent to inlet
    Parameter Type = Logical
    Default = on
    Local Type = edges
END
                           
PARAMETER: Collapse Outlet Blocks
    Description = Logical to control collapse of blocks adjacent to outlet
    Parameter Type = Logical
    Default = on
    Local Type = edges
END

PARAMETER: Split Mesh Regions At Leading Edge
    Description = Logical to control forcing vertices to lie on line of rotation at inlet for cut-off leading edge
    Parameter Type = Logical
    Default = off
    Local Type = edges
END

PARAMETER: Split Mesh Regions At Trailing Edge
    Description = Logical to control forcing vertices to lie on line of rotation at inlet for cut-off trailing edge
    Parameter Type = Logical
    Default = off
    Local Type = edges
END

PARAMETER: Use Full TurboTransform For Topology Vertex Locations From Label
    Description = When true, use the full TurboTransform for topology vertex locations from label
    Parameter Type = Logical
    Default = false
END

PARAMETER: Sharp Leading Edge
    Description = Logical to control use of sharp leading edge topology
    Parameter Type = Logical
    Default = off
    Local Type = edges
END

PARAMETER: Override Sharp Leading Edge Calculation
    Description = Logical to control override of sharp leading edge calculation
    Parameter Type = Logical
    Default = off
    Local Type = edges
END

PARAMETER: Sharp Trailing Edge
    Description = Logical to control use of sharp leading edge topology
    Parameter Type = Logical
    Default = off
    Local Type = edges
END

PARAMETER: Override Sharp Trailing Edge Calculation
    Description = Logical to control override of sharp trailing edge calculation
    Parameter Type = Logical
    Default = off
    Local Type = edges
END

SINGLETON: MESH DATA
  CCLObject Class = MeshGenerationCCLObject
  Category = constant-colour,  \
        selectable, viewer-viewable
  Scheduler = tip, set, top, edges, surfaces, turbo, calc, extend, transform, draw, colour, render, change generate mesh parameter
  Scheduler Links = set, top, turbo, top, turbo, surfaces, edges, top, top, calc, \
                    calc, extend, extend, transform, transform, draw, draw, colour, colour, render
  Optional Parameter List = \
        Blade List For Mesh, \
        Periodic List For Mesh, \
        Topology List For Mesh, \
        Blade Mesh Data Top List, \
        Blade Mesh Data Surfaces List, \
        Edge Split Factor List, \
        Layer Generate Link, \
        Layers Calc Link, \
        Mesh Size Specification Mode, \
        Target Mesh Granularity, \
        Target Mesh Node Count, \
        Number Of Elements Per Block Edge, \
        Number Of Vertices, \
        Number Of Elements, \
        Global Size Factor, \
        Spanwise Blade Distribution Option, \
        Number Of Spanwise Blade Elements, \
        ATM Spanwise To B2B Count Factor, \
        ATM Spanwise To B2B Offset Factor, \
        ATM Tip Mesh Additional Smoothing, \
        ATM Tip Mesh Specify Initial Parametric Cross Location LE, \
        ATM Tip Mesh Initial Parametric Cross Location LE, \
        ATM Tip Mesh Specify Initial Parametric Cross Location TE, \
        ATM Tip Mesh Initial Parametric Cross Location TE, \
        Meridional Splitter Boundary Layer Factor, \
        Boundary Layer Specification Method, \
        ATM Proportional BL Factor Base, \
        ATM Proportional BL Factor Ratio, \
        ATM Constant First Element Offset, \
        Target Maximum Expansion Rate, \
        Target Maximum Expansion Rate Enabled, \
        ATM BL Variable Expansion, \
        ATM Five Star Vertex Mesh Size Factor, \
        LE Cutoff Edge Split Factor, \
        LE Cutoff Edge Split Factor Minimum, \
        TE Cutoff Edge Split Factor, \
        TE Cutoff Edge Split Factor Minimum, \
        Hub Tip Distribution Option, \
        Shroud Tip Distribution Option, \
        Number Of Hub Tip Elements, \
        Number Of Shroud Tip Elements, \
        Number Of Constant Spanwise Blade Elements, \
        Number Of Constant Hub Tip Elements, \
        Number Of Constant Shroud Tip Elements, \
        Boundary Layer Specification Mode, \
        Hub Boundary Layer Distribution Option, \
        Hub Boundary Layer Offset, \
        Hub Boundary Layer Distance, \
        Hub Boundary Layer Number Of Elements, \ 
        Hub Boundary Layer Expansion Rate, \
        Shroud Boundary Layer Distribution Option, \
        Shroud Boundary Layer Offset, \
        Shroud Boundary Layer Distance, \
        Shroud Boundary Layer Number Of Elements, \ 
        Shroud Boundary Layer Expansion Rate, \ 
        Between Boundary Layers Distribution Option, \
        Between Boundary Layers End Ratio, \
        Between Boundary Layers Number Of Elements, \
        Between Boundary Layers Number Of Const Elements, \   
        Mesh Generation, \
        Spanwise Curve Type, \
        Number Of Hub To Shroud Constant Span Splits, \
        Inlet Theta Equalization Factor, \
        Inlet Theta Equalization Length Factor, \
        Outlet Theta Equalization Factor, \
        Outlet Theta Equalization Length Factor, \
        ATM Hub To Shroud Node Distribution, \
        Span Location Control, \
        Span Location, \
        TFI Mesh Generation, \
        Surface Mesh Using Layers Option, \
        Surface Mesh Method For Irregular Cad, \
        Use Improved Element Matching At OGrid, \
        Number Of Smoothing Iterations, \
        Projection Frequency, \
        Projection Persistence, \
        Smoothing Relaxation, \
        Smoothing Relaxation On Boundary, \
        Smoothing Expansion, \
        ATM Mesh Smoothing Iterations, \
        ATM Mesh Cutoff Block Smoothing Iterations, \
        Elliptic Mesh Smoothing On Geometry Faces, \
        Number Of Elliptic Mesh Smoothing Iterations, \
        Elliptic Mesh Smoothing Projection Frequency, \
        Elliptic Mesh Smoothing Relaxation, \
        Mesh Curves Tesselation Number Of Power Samples Override, \
        Mesh Curves Tesselation Number Of Power Samples, \        
        Hub Vertex Offset, Shroud Vertex Offset, \
        Hub Tip Vertex Offset, Shroud Tip Vertex Offset,\
        Hub Vertex Distance, Shroud Vertex Distance, \
        Hub Tip Vertex Distance, Shroud Tip Vertex Distance,\
        Hub Vertex YPlus, Shroud Vertex YPlus, \
        Hub Tip Vertex YPlus, Shroud Tip Vertex YPlus,\
        Hub End Ratio, Hub Tip End Ratio, Shroud Tip End Ratio,\
        Vertex Offset Specification Mode, Reynolds Number, \
        Inlet Domain, Outlet Domain, \
        \
        Override Inlet Element Count Calculation, \
        Override Outlet Element Count Calculation, \
        Number Of Inlet Elements, Number Of Outlet Elements, \
        Outlet Defining Parameter Type, Inlet Defining Parameter Type, \
        Default Expansion Factor, \  
        \
        Inlet Multi Segment Enabled, Outlet Multi Segment Enabled, \
        Inlet Multi Segment First Element Factor, Outlet Multi Segment First Element Factor, \
        Inlet Segment Resolution, Outlet Segment Resolution, \
        Region Data Pre Topology Link, \
        \
        HGrid At Inlet, HGrid At Outlet, \
        HGrid in Parametric Space at Inlet, \
        HGrid in Parametric Space at Outlet, \
        Hub And Shroud Node Distribution For Inlet And Outlet, \
        Blade Tip First Element Size Factor, \
        Use Blade Tip First Element Size Factor, \
        Transparency, Visibility, \
        Surface Drawing, Draw Faces, Draw Lines, \
        Line Colour, Line Width, Max, Min, Range, \
        Lighting,Colour Mode, Colour, Colour Map,\
        Instancing Transform, Apply Instancing Transform, \
        Specular Lighting, Culling Mode, Colour Variable Boundary Values, \
        Show Curve, Show Surface, Turbo Transform, Blade Tip Projection Space, \
        \
        Outlet Default Growth Ratio, Outlet Max Aspect Ratio, \
        Inlet Default Growth Ratio, Inlet Max Aspect Ratio, \
        Override Inlet Distribution, Override Outlet Distribution

  Internal Parameter List = Object State, Target Mesh Granularity Translation, \
                            Edge Split Control to Edit, \
                            Number Of Vertices In Passage, Number Of Elements In Passage, \
                            Number Of Vertices In Inlet, Number Of Elements In Inlet, \
                            Number Of Vertices In Outlet, Number Of Elements In Outlet, \
                            Inlet Calculated Growth Ratio, Outlet Calculated Growth Ratio,\
                            Inlet Limited By Aspect Ratio, Outlet Limited By Aspect Ratio, \ 
                            Outlet Maximum Aspect Ratio, Inlet Maximum Aspect Ratio, \
                            Spanwise Hub Tip Expansion Rate, Spanwise Shroud Tip Expansion Rate, Spanwise Blade Expansion Rate, \
                            Inlet Multi Segment Element Count, Outlet Multi Segment Element Count
  Allowed Parent List = ROOT
  PARAMETER: Visibility
    Default = off
  END
END

PARAMETER: Layer Generate Link
Parameter Type = String
Local Type = extend
Remote Type = generate
Default = /TOPOLOGY SET
END

PARAMETER: Layers Calc Link
Parameter Type = String
Local Type = calc
Remote Type = calc
Default =
END

PARAMETER: Inlet Multi Segment Element Count
Parameter Type = Integer List
END

PARAMETER: Outlet Multi Segment Element Count
Parameter Type = Integer List
END

PARAMETER: Inlet Segment Resolution
Parameter Type = Real List
Local Type = extend
END

PARAMETER: Outlet Segment Resolution
Parameter Type = Real List
Local Type = extend
END

PARAMETER: Inlet Multi Segment First Element Factor
Parameter Type = Real
Default Value = 0.1
Local Type = extend
END

PARAMETER: Outlet Multi Segment First Element Factor
Parameter Type = Real
Default Value = 0.1
Local Type = extend
END

PARAMETER: Region Data Pre Topology Link
Parameter Type = String
Default Value = /GEOMETRY/REGION DATA
Local Type = extend
Remote Type = pre topology
END

PARAMETER: Inlet Multi Segment Enabled
Parameter Type = Logical
Default Value = true
Local Type = extend
END

PARAMETER: Outlet Multi Segment Enabled
Parameter Type = Logical
Default Value = true
Local Type = extend
END

PARAMETER: Outlet Default Growth Ratio
  Parameter Type = Real
  Local Type = extend
  Default = 1.2
END

PARAMETER: Outlet Max Aspect Ratio
  Parameter Type = Real
  Local Type = extend
  Default = 900
END

PARAMETER: Inlet Default Growth Ratio
  Parameter Type = Real
  Local Type = extend
  Default = 1.2
END

PARAMETER: Inlet Max Aspect Ratio
  Parameter Type = Real
  Local Type = extend
  Default = 900
END

PARAMETER: Outlet Maximum Aspect Ratio
  Parameter Type = Real
  Default = 0
END

PARAMETER: Inlet Maximum Aspect Ratio
  Parameter Type = Real
  Default = 0
END

PARAMETER: Outlet Defining Parameter Type
    Parameter Type = String
    Local Type = extend
    Default = Target Expansion Rate
    Allowed String List = Target Expansion Rate, Target Number of Elements 
END

PARAMETER: Inlet Defining Parameter Type
    Parameter Type = String
    Local Type = extend
    Default = Target Expansion Rate
    Allowed String List = Target Expansion Rate, Target Number of Elements 
END

PARAMETER: Inlet Limited By Aspect Ratio
  Parameter Type = Logical
  Default = false
END

PARAMETER: Outlet Limited By Aspect Ratio
  Parameter Type = Logical
  Default = false
END

PARAMETER: Inlet Calculated Growth Ratio
    Parameter Type = Real
    Default = 0
END

PARAMETER: Outlet Calculated Growth Ratio
    Parameter Type = Real
    Default = 0
END

PARAMETER: Override Inlet Distribution
  Parameter Type = Logical
  Default = false
  Local Type = extend
END

PARAMETER: Override Outlet Distribution
  Parameter Type = Logical
  Default = false
  Local Type = extend
END
 
# This will store the trimmed off ends of the hub or shroud curve
OBJECT: TRIMMED CURVE
  CCLObject Class = TrimmedCurveCCLObject
  Category = constant-colour,  \
        viewer-viewable, deletable
  Scheduler = top, draw, render, transform, colour, define regions
  Scheduler Links = top,draw,   draw,render,   transform,draw,   top,define regions
  Allowed Parent List = HUB, SHROUD
  Optional Parameter List = Visibility, Turbo Transform, Show Curve, Show Surface, \
                            Colour Mode, Draw Lines, Colour, Line Colour, Line Width, \
                            Draw Faces, Surface Drawing, Lighting, Transparency, Specular Lighting, \
                            Culling Mode, \
                            Trimmed Curve Opening Block Top Link
END

PARAMETER: Trimmed Curve Opening Block Top Link
  Parameter Type = String List
  # Default in init file
  Local Type = top
  Remote Type = top
END

SINGLETON: SEGMENT HIGHLIGHT
  CCLObject Class = SegmentHighlightCCLObject
  Category = constant-colour, viewer-viewable
  Scheduler = draw, render, transform, colour, top, delete
  Scheduler Links = delete,top,   top,draw,   transform,draw,   draw,render
  Allowed Parent List = GEOMETRY
  Optional Parameter List = Visibility, Turbo Transform, Show Curve, Show Surface, \
                            Colour Mode, Draw Lines, Colour, Line Colour, Line Width, \
                            Draw Faces, Surface Drawing, Lighting, Transparency, Specular Lighting, \
                            Culling Mode, Requested Block, Requested Index, \
                            Region Data Link
END

# This link is to make sure the segment object is reset whenever topology definition change
PARAMETER: Region Data Link
  Parameter Type = String
  Default = /GEOMETRY/REGION DATA
  Local Type = delete
  Remote Type = pre topology 
END

PARAMETER: Requested Block
  Parameter Type = String
  Local Type = top
END

PARAMETER: Requested Index
  Parameter Type = Integer
  Local Type = top
END

OBJECT: OPENING REGION
  CCLObject Class = OpeningRegionCCLObject
  Category = constant-colour,  \
        viewer-viewable, deletable
  Scheduler = define regions, read data, set
  Scheduler Links = define regions,set
  Allowed Parent List = HUB, SHROUD
  Optional Parameter List = Region Initialized, \
                            Region Location Method, Region Start Point, Region End Point, Region Name, \ 
                            Region Data Define Regions Link
  Internal Parameter List = Object State
END

PARAMETER: Region Initialized
  Parameter Type = Logical
  Default = false
END

PARAMETER: Region Data Define Regions Link
  Parameter Type = String
  Default = /GEOMETRY/REGION DATA
  Local Type = define regions
  Remote Type = define regions
END

PARAMETER: Region Location Method
  Parameter Type = String
  Default = Set A
  Allowed String List = Set A, Set R
  Local Type = define regions
END

PARAMETER: Region Start Point
  Parameter Type = Real List
  Default = 
  Local Type = define regions
END

PARAMETER: Region End Point
  Parameter Type = Real List
  Default = 
  Local Type = define regions
END

PARAMETER: Region Name
  Parameter Type = String
  Default = 
  Local Type = set
END

PARAMETER: ATM Tip Mesh Additional Smoothing
  Prameter Type = Logical
  Default = off
  Local Type = calc
END

PARAMETER: ATM Tip Mesh Specify Initial Parametric Cross Location LE
  Prameter Type = Logical
  Default = off
  Local Type = calc
END

PARAMETER: ATM Tip Mesh Initial Parametric Cross Location LE
  Prameter Type = Real
  Default = 0.25
  Local Type = calc
END

PARAMETER: ATM Tip Mesh Specify Initial Parametric Cross Location TE
  Prameter Type = Logical
  Default = off
  Local Type = calc
END

PARAMETER: ATM Tip Mesh Initial Parametric Cross Location TE
  Prameter Type = Real
  Default = 0.75
  Local Type = calc
END

PARAMETER: LE Cutoff Edge Split Factor Minimum
  Parameter Type = Real
  Default = 0.1
END

PARAMETER: TE Cutoff Edge Split Factor Minimum
  Parameter Type = Real
  Default = 0.1
END

PARAMETER: LE Cutoff Edge Split Factor
  Parameter Type = Real
  Default = 1
  Local Type = tip
END

PARAMETER: TE Cutoff Edge Split Factor
  Parameter Type = Real
  Default = 1
  Local Type = tip
END

PARAMETER: Spanwise Curve Type
  Parameter Type = String
  Allowed String List = Automatic, Piece-wise linear, Bspline
  Default = Automatic
  Local Type = change generate mesh parameter
END

PARAMETER: Number Of Hub To Shroud Constant Span Splits
  Parameter Type = Integer
  Default = 10
  Local Type = change generate mesh parameter
END

PARAMETER: Target Maximum Expansion Rate
  Parameter Type = Real
  Default = 1.3
  Local Type = calc
END

PARAMETER: Spanwise Hub Tip Expansion Rate
  Parameter Type = Real
END

PARAMETER: Spanwise Shroud Tip Expansion Rate
  Parameter Type = Real
END

PARAMETER: Spanwise Blade Expansion Rate
  Parameter Type = Real
END

PARAMETER: Target Maximum Expansion Rate Enabled
  Parameter Type = Logical
  Default = true
  Local Type = calc
END

PARAMETER: ATM Constant First Element Offset
  Parameter Type = Logical
  Default = true
  Local Type = calc
END

PARAMETER: ATM BL Variable Expansion
  Parameter Type = Logical
  Default = On
  Local Type = calc
END

PARAMETER: Meridional Splitter Boundary Layer Factor
  Parameter Type = Real
  Default = 1.0
  Local Type = extend
END

PARAMETER: Inlet Theta Equalization Factor
  Parameter Type = Real
  Default = 0.0
  Description = This is a factor used to blend the theta values at the inlet from \
                being an exact match to the theta values at the beginning of the passage (0.0) \
                to the theta values being equalized at the hub and shroud (1.0).
END
PARAMETER: Inlet Theta Equalization Length Factor
  Parameter Type = Real
  Default = 1.0
  Description = The fraction of the inlet length over which theta equalization should occur.
END

PARAMETER: Outlet Theta Equalization Factor
  Parameter Type = Real
  Default = 0.0
  Description = This is a factor used to blend the theta values at the outlet from \
                being an exact match to the theta values at the end of the passage (0.0) \
                to the theta values being equalized at the hub and shroud (1.0). If the \
                value is greater than 1.0, than the equalization is achieved by that ratio \
                before the outlet.
END
PARAMETER: Outlet Theta Equalization Length Factor
  Parameter Type = Real
  Default = 1.0
  Description = The fraction of the inlet length over which theta equalization should occur.
END

PARAMETER: Blade Tip Projection Space
  Parameter Type = String
  Allowed String List = RNM, NM
  Default = RNM
END

OBJECT:BLADE MESH DATA
  CCLObject Class = BladeMeshDataCCLObject
  Category = selectable
  Scheduler = surfaces, set, edges, top
  Scheduler Links = surfaces, top, set, top, edges, top
  Optional Parameter List = \
        Topology List For Mesh, \
        Number Of OGrid Elements, \
        OGrid Distribution Option, \
        OGrid Distance Definition, \
        OGrid Mesh Expansion Rate, \
        Blade Vertex Offset, \
        Blade Vertex Distance, \
        Blade Vertex YPlus, \
        Blade End Ratio, \
        Hub Tip Topology Definition, \
        Shroud Tip Topology Definition, \
        Override Hub Tip Element Count Calculation, \
        Number Of Elements Across Hub Tip, \
        Number Of Leading Edge Hub Tip Elements, \
        Number Of Trailing Edge Hub Tip Elements, \
        Override Shroud Tip Element Count Calculation, \
        Number Of Elements Across Shroud Tip, \
        Number Of Leading Edge Shroud Tip Elements, \
        Number Of Trailing Edge Shroud Tip Elements, \
        GGI Tip Hub Le Cut Off MeanLine Method, \
        GGI Tip Hub Te Cut Off MeanLine Method, \
        GGI Tip Shroud Le Cut Off MeanLine Method, \
        GGI Tip Shroud Te Cut Off MeanLine Method, \
        GGI Tip Angle To Switch Mean Line Into Cut Off Corner, \
        Use Isogeometric Scheme For Mesh Inside GGI Tip, \
        ATM Hub Tip Maximum Expansion Rate, \
        ATM Hub Tip Maximum Expansion Rate Enabled, \
        ATM Shroud Tip Maximum Expansion Rate, \
        ATM Shroud Tip Maximum Expansion Rate Enabled, \
        Cutoff Blade Edge Expansion Factor
  Internal Parameter List = Object State, Actual Minimum Hub Tip Expansion Rate, Actual Maximum Hub Tip Expansion Rate, \
                            Actual Minimum Shroud Tip Expansion Rate, Actual Maximum Shroud Tip Expansion Rate
  Allowed Parent List = MESH DATA
END

PARAMETER: Actual Minimum Hub Tip Expansion Rate
  Parameter Type = Real
END

PARAMETER: Actual Maximum Hub Tip Expansion Rate
  Parameter Type = Real
END

PARAMETER: Actual Minimum Shroud Tip Expansion Rate
  Parameter Type = Real
END

PARAMETER: Actual Maximum Shroud Tip Expansion Rate
  Parameter Type = Real
END

PARAMETER: ATM Hub Tip Maximum Expansion Rate Enabled
  Parameter Type = Logical
  Default = Off
  Local Type = top
END

PARAMETER: ATM Hub Tip Maximum Expansion Rate
  Parameter Type = Real
  Default = 1.3
  Local Type = top
END

PARAMETER: ATM Shroud Tip Maximum Expansion Rate Enabled
  Parameter Type = Logical
  Default = Off
  Local Type = top
END

PARAMETER: ATM Shroud Tip Maximum Expansion Rate
  Parameter Type = Real
  Default = 1.3
  Local Type = top
END

PARAMETER: ATM Mesh Smoothing Iterations
  Parameter Type = Integer
  Local Type = calc
  Default = 12
END

PARAMETER: ATM Mesh Cutoff Block Smoothing Iterations
  Parameter Type = Integer
  Local Type = calc
  Default = 20
END

PARAMETER: ATM Five Star Vertex Mesh Size Factor
  Parameter Type = Real
  Local Type = calc
  Default = 1.0
  Descritpion = This parameter can be used to reduce the edge lengths of edges \
                radiating out from a vertex with 5 edges.
END

PARAMETER: Cutoff Blade Edge Expansion Factor
  Parameter Type = Real
  Local Type = top
  Default = 1.0
  Description = This factor is combined with the distribution in the boundary layer \
                to determine the distribution on the cutoff edges of the blade.
END

PARAMETER: Blade Mesh Data Top List
  Desciption = List of BLADE MESH DATA objects
  Parameter Type = String List
  Local Type = top
  Remote Type = top
END

PARAMETER: Blade Mesh Data Surfaces List
  Desciption = List of BLADE MESH DATA objects
  Parameter Type = String List
  Local Type = surfaces
  Remote Type = surfaces
END

PARAMETER: Edge Split Control to Edit
  Parameter Type = String
END

PARAMETER: Edge Split Factor List
    Description = List of edge split factor objects
    Parameter Type = String List
    Local Type = calc
    Remote Type = set
END

PARAMETER: Elliptic Mesh Smoothing On Geometry Faces
    Description = Use Elliptic Mesh Smoothing On Geometry Faces if on
    Parameter Type = Logical
    Default = off
END

PARAMETER: Number Of Elliptic Mesh Smoothing Iterations
    Description = Number of smoothing iterations
    Parameter Type = Integer
    Default = 12
END

PARAMETER: Elliptic Mesh Smoothing Projection Frequency
    Description = Frequency of elliptic mesh smoothing iterations at which projection is to occur
    Parameter Type = Integer
    Default = 7
END

PARAMETER: Mesh Curves Tesselation Number Of Power Samples Override 
    Description = Override the number power samples
    Parameter Type = Logical
    Default = false
    Local Type = change generate mesh parameter
END

PARAMETER: Mesh Curves Tesselation Number Of Power Samples 
    Description = For Mesh Curves Tesselation Number of power samples (n). Size of sample = 2^n+1  
    Parameter Type = Integer
    Default = 2
    Local Type = change generate mesh parameter
END

PARAMETER: Elliptic Mesh Smoothing Relaxation
    Description = Relaxation parameter for elliptic smoothing of grid
    Parameter Type = Real
    Default = 0.7
END

PARAMETER: Surface Mesh Using Layers Option
    Description = Specifies the usage of layers information for surface mesh from hub to shroud 
    Parameter Type = String
    Allowed String List = Dont Use, On Geometry Only, All Edges
    Default = All Edges
END

PARAMETER: Surface Mesh Method For Irregular Cad
    Description = Specifies the usage of the method for surface mesh developed for irregular cad  
    Parameter Type = Logical
    Default = true
END

PARAMETER: TFI Mesh Generation
    Description = Use TFI mesh generation if on
    Parameter Type = Logical
    Default = on
END

PARAMETER: Mesh Size Specification Mode
    Description = Method of specify the desired mesh size
    Parameter Type = String
    Allowed String List = Target Total Node Count, Topology Block Edge Split
    Default = Topology Block Edge Split
    Local Type = set
END

PARAMETER: Target Mesh Granularity
    Parameter Type = String
    Allowed String List = Coarse, Medium, Fine, Specify
    Default = Coarse
    Local Type = set
END

PARAMETER: Target Mesh Granularity Translation
    Parameter Type = Integer List
    Default = 20000, 100000, 250000
END

PARAMETER: Target Mesh Node Count
    Description = Number of desired nodes in mesh
    Parameter Type = Integer
    Default = 50000
    Local Type = set
END

PARAMETER: Topology List For Mesh
  Parameter Type = String List
  Description = List of topologies
  Local Type = edges
  Remote Type = calc
END

PARAMETER: Mesh Generation
    Description = String to control Hub to Shroud mesh generation method.
    Parameter Type = String
    Default = false
END

PARAMETER: Lock Down ATM Mesh Size
    Parameter Type = Logical
    Default = false
    Local Type = calc
    Description = When true, ATM Technology meshes will not change size even if there \
                  are geometry changes.
END

PARAMETER: ATM Hub To Shroud Node Distribution
    Description = String to control Hub to Shroud mesh generation method for ATM topologies.
    Parameter Type = String List
    Allowed String List = Constant Span, Length Based
    Default = Constant Span
END

PARAMETER: ATM Spanwise To B2B Count Factor
    Parameter Type = Real
    Default = 1.0
    Local Type = top
    Remote Type = expression
    Description = For target mesh size calculation, increasing this factor will \
                  increase the number of nodes allocated in the hub-shroud distribution \
                  relative to the blade-to-blade allocation.
END

PARAMETER: ATM Spanwise To B2B Offset Factor
    Parameter Type = Real
    Default = 1.0
    Local Type = extend
    Remote Type = expression
    Description = Increasing this factor will increase the hub/shroud offset \
                  relative to the boundary layer offset.
END

PARAMETER: ATM Proportional BL Factor Base
    Parameter Type = Real
    Default = 0.0
    Local Type = calc
    Remote Type = expression
    Description = Base boundary layer factor when ATM Proportional BL Factor is true.
END

PARAMETER: ATM Proportional BL Factor Ratio
    Parameter Type = Real
    Default = 2.0
    Local Type = calc
    Remote Type = expression
    Description = Ratio of boundary layer factor to global factor when ATM Proportional BL Factor is true.
END

PARAMETER: Number Of Elements Per Block Edge
    Description = Number of elements that each block edge is to be divided
    Parameter Type = Integer
    Default = 2
    Local Type = set
END

PARAMETER: Number Of Vertices
    Description = Total number of vertices
    Parameter Type = Integer
    Default = 0
END

PARAMETER: Number Of Elements
    Description = Total number of elements
    Parameter Type = Integer
    Default = 0
END

PARAMETER: Global Size Factor
    Description = This factor is multiplied with the base edge count to determine \
                  mesh densities for ATM Optimized topologies.
    Parameter Type = Real
    Default = 1.0
    Local Type = set
    Remote Type = expression
END

PARAMETER: Number Of Vertices In Passage
    Description = Total number of vertices in passage domain
    Parameter Type = Integer
    Default = 0
END

PARAMETER: Number Of Elements In Passage
    Description = Total number of elements in passage domain
    Parameter Type = Integer
    Default = 0
END

PARAMETER: Number Of Vertices In Inlet
    Description = Total number of vertices in inlet domain
    Parameter Type = Integer
    Default = 0
END

PARAMETER: Number Of Elements In Inlet
    Description = Total number of elements in inlet domain
    Parameter Type = Integer
    Default = 0
END

PARAMETER: Number Of Vertices In Outlet
    Description = Total number of vertices in outlet domain
    Parameter Type = Integer
    Default = 0
END

PARAMETER: Number Of Elements In Outlet
    Description = Total number of elements in outlet domain
    Parameter Type = Integer
    Default = 0
END

PARAMETER: Spanwise Blade Distribution Option
    Description = Method used to specify element distribution along blade in the spanwise direction.
    Parameter Type = String
    Allowed String List = End Ratio, Element Count and Size, Boundary Layer, Uniform 
    Default = End Ratio
    Local Type = set
END

PARAMETER: Hub Tip Distribution Option
    Description = Method used to specify element distribution in the hub tip in the spanwise direction.
    Parameter Type = String
    Allowed String List = End Ratio, Element Count and Size, Uniform
    Default = End Ratio
    Local Type = set
END

PARAMETER: Shroud Tip Distribution Option
    Description = Method used to specify element distribution in the shroud tip in the spanwise direction.
    Parameter Type = String
    Allowed String List = End Ratio, Element Count and Size, Uniform
    Default = End Ratio
    Local Type = set
END

PARAMETER: Number Of Spanwise Blade Elements
    Description = Number of elements in span direction along the blade excluding tip regions.
    Parameter Type = Integer
    Default = 2
    Local Type = set
END

PARAMETER: Number Of OGrid Elements
    Description = Number of elements from inside to outside of Ogrid
    Parameter Type = Integer
    Default = 0
    Local Type = top
END

PARAMETER: OGrid Distribution Option
    Description = which parameter user will specify
    Parameter Type = String
    Allowed String List = End Ratio, Element Count and Size, Expansion Rate, Uniform
    Default = End Ratio
    Local Type = top
END

PARAMETER: Boundary Layer Specification Mode
    Description = Method for specifying distance of boundary layrs on Hub and Shroud
    Parameter Type = String
    Allowed String List = Normalized, Absolute
    Default = Normalized
END

PARAMETER: Hub Boundary Layer Distribution Option
    Description = which parameter user will specify
    Parameter Type = String
    Allowed String List = Element Count and Size, Expansion Rate, Uniform
    Default = Element Count and Size
    Local Type = set
END

PARAMETER: Shroud Boundary Layer Distribution Option
    Description = which parameter user will specify
    Parameter Type = String
    Allowed String List = Element Count and Size, Expansion Rate, Uniform
    Default = Element Count and Size
    Local Type = set
END

PARAMETER: Hub Boundary Layer Offset
    Description = Relative offset of Hub boundary layer
    Parameter Type = Real
    Default = 0.1
    Local Type = extend
    Remote Type = expression
END

PARAMETER: Shroud Boundary Layer Offset
    Description = Relative offset of Shroud boundary layer
    Parameter Type = Real
    Default = 0.1
    Local Type = extend
    Remote Type = expression
END

PARAMETER: Hub Boundary Layer Distance
    Description = Absolute offset of Hub boundary layer
    Parameter Type = Real
    Default = 0.05
    Local Type = extend
    Remote Type = expression
END

PARAMETER: Shroud Boundary Layer Distance
    Description = Absolute offset of Shroud boundary layer
    Parameter Type = Real
    Default = 0.05
    Local Type = extend
    Remote Type = expression
END

PARAMETER: Hub Boundary Layer Number Of Elements
    Description = Number of elements in  Hub boundary layer
    Parameter Type = Integer
    Default = 5
    Local Type = top
END

PARAMETER: Shroud Boundary Layer Number Of Elements
    Description = Number of elements in  Shroud boundary layer
    Parameter Type = Integer
    Default = 5
    Local Type = top
END

PARAMETER: Hub Boundary Layer Expansion Rate
    Description = Mesh expansion rate from the hub
    Parameter Type = Real
    Default = 1.15
    Local Type = extend
    Remote Type = expression
END

PARAMETER: Shroud Boundary Layer Expansion Rate
    Description = Mesh expansion rate from the hub
    Parameter Type = Real
    Default = 1.15
    Local Type = extend
    Remote Type = expression
END

PARAMETER: Between Boundary Layers Distribution Option 
    Description = Method for specifying distribution between boundary layers
    Parameter Type = String
    Allowed String List = End Ratio, Element Count 
    Default = End Ratio
    Local Type = extend
END

PARAMETER: Between Boundary Layers End Ratio
    Description = Ratio of smallest element, between Boundary Layers to largest  
    Parameter Type = Real
    Default = 10
    Local Type = extend
    Remote Type = expression
END

PARAMETER: Between Boundary Layers Number Of Elements
    Description = Number of elements between boundary layers
    Parameter Type = Integer
    Default = 10
    Local Type = top
END

PARAMETER: Between Boundary Layers Number Of Const Elements
    Description = Number of const elements between boundary layers
    Parameter Type = Integer
    Default = 2
    Local Type = top
END

PARAMETER: Smoothing Iteration Mode
    Parameter Type = String
    Allowed String List = None, Low, Medium, High, Specify
    Default = Medium
    Local Type = top
END

PARAMETER: Smoothing Iteration Mode Translation
    Description = Number of smoothing iterations to use for Smoothing Iteration Mode of Low, Medium, High
    Parameter Type = Integer List
    Default = 30, 60, 120
END

PARAMETER: Number Of Smoothing Iterations
    Description = Number of smoothing iterations
    Parameter Type = Integer
    Default = 0
    Local Type = edges
END

PARAMETER: Projection Frequency
    Description = Frequency of smoothing iterations at which projection is to occur
    Parameter Type = Integer
    Default = 100
    Local Type = edges
END

PARAMETER: Projection Persistence
    Description = Number of final smoothing iterations that Projection must occur
    Parameter Type = Integer
    Default = 1
    Local Type = edges
END

PARAMETER: Refined Mesh Smoothing Iteration Mode
    Parameter Type = String
    Allowed String List = None, Low, Medium, High, Specify
    Default = Medium
    Local Type = generate
END

PARAMETER: Refined Mesh Smoothing Iteration Mode Translation
    Description = Number of smoothing iterations to use for Refined Mesh Smoothing Iteration \
            Mode of Low, Medium, High
    Parameter Type = Integer List
    Default = 1, 3, 5
END

PARAMETER: Refined Mesh Number Of Smoothing Iterations
    Description = Number of smoothing iterations for layer refined mesh
    Parameter Type = Integer
    Default = 0
    Local Type = generate
END

PARAMETER: Refined Mesh Projection Frequency
    Description = Frequency of smoothing iterations at which projection is to occur for layer refined mesh
    Parameter Type = Integer
    Default = 100
    Local Type = generate
END

PARAMETER: Refined Mesh Projection Persistence
    Description = Number of final smoothing iterations that Projection must occur for layer refined mesh
    Parameter Type = Integer
    Default = 1
    Local Type = generate
END

PARAMETER: Smoothing Relaxation
    Description = Relaxation parameter for smoothing of grid
    Parameter Type = Real
    Default = 0.8
    Local Type = edges
    Remote Type = expression
END

PARAMETER: Smoothing Relaxation On Boundary
    Description = Relaxation parameter for smoothing on grid boundary
    Parameter Type = Real
    Default = 0.5
    Local Type = edges
    Remote Type = expression
END

PARAMETER: Smoothing Expansion
    Description = Expansion factor limiter for smoothing on boundary
    Parameter Type = Real
    Default = 1.15
    Local Type = edges
    Remote Type = expression
END

PARAMETER: Number Of Hub Tip Elements
    Description = Number of elements in hub tip in spanwise direction.
    Parameter Type = Integer
    Default = 3
    Local Type = set
END

PARAMETER: Number Of Shroud Tip Elements
    Description = Number of elements in shroud tip in spanwise direction.
    Parameter Type = Integer
    Default = 3
    Local Type = set
END

PARAMETER: Blade Vertex Offset
    Description = Relative offset of first vertex away from Blade
    Parameter Type = Real
    Default = 0.1
    Local Type = set
    Remote Type = expression
END

PARAMETER: Hub Vertex Offset
    Description = Relative offset of first vertex away from Hub
    Parameter Type = Real
    Default = 0.05
    Local Type = extend
    Remote Type = expression
END

PARAMETER: Shroud Vertex Offset
    Description = Relative offset of first vertex away from Shroud
    Parameter Type = Real
    Default = 0.05
    Local Type = extend
    Remote Type = expression
END

PARAMETER: Hub Tip Vertex Offset
    Description = Relative offset of first vertex away from Hub Tip
    Parameter Type = Real
    Default = 0.1
    Local Type = extend
    Remote Type = expression
END

PARAMETER: Shroud Tip Vertex Offset
    Description = Relative offset of first vertex away from Shroud Tip
    Parameter Type = Real
    Default = 0.1
    Local Type = extend
    Remote Type = expression
END

PARAMETER: Blade Vertex Distance
    Description = Absolute offset of first vertex away from Blade
    Parameter Type = Real
    Default = 0.01
    Local Type = set
    Remote Type = expression
END


PARAMETER: Hub Vertex Distance
    Description = Absolute offset of first vertex away from Hub
    Parameter Type = Real
    Default = 0.05
    Local Type = extend
    Remote Type = expression
END


PARAMETER: Shroud Vertex Distance
    Description = Absolute offset of first vertex away from Shroud
    Parameter Type = Real
    Default = 0.05
    Local Type = extend
    Remote Type = expression
END

PARAMETER: Hub Tip Vertex Distance
    Description = Absolute offset of first vertex away from Hub Tip
    Parameter Type = Real
    Default = 0.01
    Local Type = extend
    Remote Type = expression
END

PARAMETER: Shroud Tip Vertex Distance
    Description = Absolute offset of first vertex away from Shroud Tip
    Parameter Type = Real
    Default = 0.01
    Local Type = extend
    Remote Type = expression
END

PARAMETER: Blade Vertex YPlus
    Description = YPlus offset of first vertex away from Blade
    Parameter Type = Real
    Default = 1
    Local Type = set
    Remote Type = expression
END

PARAMETER: Hub Vertex YPlus
    Description = YPlus offset of first vertex away from Hub
    Parameter Type = Real
    Default = 1
    Local Type = extend
    Remote Type = expression
END

PARAMETER: Shroud Vertex YPlus
    Description = YPlus offset of first vertex away from Shroud
    Parameter Type = Real
    Default = 1
    Local Type = extend
    Remote Type = expression
END

PARAMETER: Hub Tip Vertex YPlus
    Description = YPlus offset of first vertex away from Hub Tip
    Parameter Type = Real
    Default = 1
    Local Type = extend
    Remote Type = expression
END

PARAMETER: Shroud Tip Vertex YPlus
    Description = YPlus offset of first vertex away from Shroud Tip
    Parameter Type = Real
    Default = 1
    Local Type = extend
    Remote Type = expression
END

PARAMETER: Blade End Ratio
    Description = Ratio of smallest OGrid element to largest
    Parameter Type = Real
    Default = 50
    Local Type = set
    Remote Type = expression
END

PARAMETER: Hub End Ratio
    Description = Ratio of smallest element, hub to shroud (or tip) to largest
    Parameter Type = Real
    Default = 200
    Local Type = extend
    Remote Type = expression
END

PARAMETER: Hub Tip End Ratio
    Description = Ratio of smallest element to largest element in hub tip
    Parameter Type = Real
    Default = 15
    Local Type = extend
    Remote Type = expression
END

PARAMETER: Shroud Tip End Ratio
    Description = Ratio of smallest element to largest element in shroud tip
    Parameter Type = Real
    Default = 15
    Local Type = extend
    Remote Type = expression
END

PARAMETER: Vertex Offset Specification Mode
    Description = Method for specifying distance of first vertex from geometry
    Parameter Type = String
    Allowed String List = y+, Normalized, Absolute
    Default = Normalized
END

PARAMETER: OGrid Mesh Expansion Rate
    Description = Mesh expansion rate from the blade
    Parameter Type = Real
    Default = 1.15
    Local Type = set
    Remote Type = expression
END

PARAMETER: Reynolds Number
    Description = Reynolds number used for computing YPlus
    Parameter Type = Real
    Local Type = top
    Default = 1.0e6
    Remote Type = expression
END

PARAMETER: Inlet Domain
    Description = Logical flag to control Inlet domain mesh generation
    Parameter Type = Logical
    Default = false
    Local Type = extend
END

PARAMETER: Outlet Domain
    Description = Logical flag to control Outlet domain mesh generation
    Parameter Type = Logical
    Default = false
    Local Type = extend
END

PARAMETER: Number Of Inlet Elements
    Description = Number of elements on longest of hub or shroud curve portion in outlet domain
    Parameter Type = Integer
    Default = 4
    Local Type = extend
END

PARAMETER: Override Inlet Element Count Calculation
    Description = When true, use the Number Of Inlet Elements specified by the user
    Parameter Type = Logical
    Default = false
    Local Type = extend
END

PARAMETER: Number Of Outlet Elements
    Description = Number of elements on longest of hub or shroud curve portion in outlet domain
    Parameter Type = Integer
    Default = 4
    Local Type = extend
END

PARAMETER: Override Outlet Element Count Calculation
    Description = When true, use the Number Of Outlet Elements specified by the user
    Parameter Type = Logical
    Default = false
    Local Type = extend
END

PARAMETER: HGrid At Inlet
    Description = Logical flag to control HGrid at Inlet
    Parameter Type = Logical
    Default = true
    Local Type = extend
END

PARAMETER: HGrid in Parametric Space at Inlet
    Description = Logical flag to control HGrid at Inlet in Parametric Space
    Parameter Type = Logical
    Default = false
    Local Type = extend
END

PARAMETER: HGrid At Outlet
    Description = Logical flag to control HGrid at Outlet
    Parameter Type = Logical
    Default = true
    Local Type = extend
END

PARAMETER: HGrid in Parametric Space at Outlet
    Description = Logical flag to control HGrid at Outlet in Parametric Space
    Parameter Type = Logical
    Default = false
    Local Type = extend
END

PARAMETER: Span Location Control
    Description = Logical flag to control span location
    Parameter Type = Logical
    Default = false
    Local Type = top
END

PARAMETER: Default Expansion Factor
    Description = Default expansion factor
    Parameter Type = Real
    Default = 1.15
    Local Type = edges
    Remote Type = expression
END

PARAMETER: Blade Tip First Element Size Factor
    Description = Factor controlling first element size in tip
    Parameter Type = Real
    Default = 1.15
    Local Type = edges
    Remote Type = expression
END

PARAMETER: Use Blade Tip First Element Size Factor
  Parameter Type = Logical
  Default = false
  Local Type = edges
  Description = If true, use Blade Tip First Element Size Factor value.
END

PARAMETER: Number Of Constant Spanwise Blade Elements
    Description = Number of constant size elements along blade in spanwise direction
    Parameter Type = Integer
    Default = 0
    Local Type = extend
END

PARAMETER: Number Of Constant Hub Tip Elements
    Description = Number of constant size elements in hub tip
    Parameter Type = Integer
    Default = 0
    Local Type = extend
END

PARAMETER: Number Of Constant Shroud Tip Elements
    Description = Number of constant size elements in shroud tip
    Parameter Type = Integer
    Default = 0
    Local Type = extend
END

PARAMETER: Hub Tip Topology Definition
    Description = Set method for hub tip topology generation
    Parameter Type = String
    Allowed String List = H-Grid, H-Grid Not Matching, ATM Optimized
    Default = H-Grid Not Matching
    Local Type = top
END

PARAMETER: Shroud Tip Topology Definition
    Description = Set method for shroud tip topology generation
    Parameter Type = String
    Allowed String List = H-Grid, H-Grid Not Matching, ATM Optimized
    Default = H-Grid Not Matching
    Local Type = top
END

PARAMETER: Number Of Elements Across Hub Tip
    Description = Number of elements across hub tip surface
    Parameter Type = Integer
    Default = 0
    Local Type = top
END

PARAMETER: Number Of Elements Across Shroud Tip
    Description = Number of elements across shroud tip surface
    Parameter Type = Integer
    Default = 0
    Local Type = top
END

PARAMETER: Override Hub Tip Element Count Calculation
    Description = When true, use the Number Of Hub Tip Elements specified by the user
    Parameter Type = Logical
    Default = false
    Local Type = top
END

PARAMETER: Override Shroud Tip Element Count Calculation
    Description = When true, use the Number Of Shroud Tip Elements specified by the user
    Parameter Type = Logical
    Default = false
    Local Type = top
END

PARAMETER: Number Of Leading Edge Hub Tip Elements
    Description = Number of elements in butterfly section near leading edge on hub tip surface
    Parameter Type = Integer
    Default = 2
    Local Type = top
END

PARAMETER: Number Of Leading Edge Shroud Tip Elements
    Description = Number of elements in butterfly section near leading edge on shroud tip surface
    Parameter Type = Integer
    Default = 2
    Local Type = top
END

PARAMETER: Number Of Trailing Edge Hub Tip Elements
    Description = Number of elements in butterfly section near trailing edge on hub tip surface
    Parameter Type = Integer
    Default = 2
    Local Type = top
END

PARAMETER: Number Of Trailing Edge Shroud Tip Elements
    Description = Number of elements in butterfly section near trailing edge on shroud tip surface
    Parameter Type = Integer
    Default = 2
    Local Type = top
END

PARAMETER: GGI Tip Hub Le Cut Off MeanLine Method
    Description = Defines the method for placement of mean line along cut off edge at hub leading edge
    Parameter Type = string
    Allowed String List = Auto, Middle, Corner
    Default = Auto
    Local Type = top
END

PARAMETER: GGI Tip Hub Te Cut Off MeanLine Method
    Description = Defines the method for placement of mean line along cut off edge at hub trailing edge
    Parameter Type = string
    Allowed String List = Auto, Middle, Corner
    Default = Auto
    Local Type = top
END

PARAMETER: GGI Tip Shroud Le Cut Off MeanLine Method
    Description = Defines the method for placement of mean line along cut off edge at shroud leading edge
    Parameter Type = string
    Allowed String List = Auto, Middle, Corner
    Default = Auto
    Local Type = top
END

PARAMETER: GGI Tip Shroud Te Cut Off MeanLine Method
    Description = Defines the method for placement of mean line along cut off edge at shroud trailing edge
    Parameter Type = string
    Allowed String List = Auto, Middle, Corner
    Default = Auto
    Local Type = top
END

PARAMETER: GGI Tip Angle To Switch Mean Line Into Cut Off Corner
    Description = Defines the maximum angle at which GGI tip mean line will go into sharp cut off edge 
    Parameter Type = float
    Default = 45 [degree]
    Local Type = top
END

PARAMETER: Use Isogeometric Scheme For Mesh Inside GGI Tip 
    Description = Defines the use of isogeometric scheme for meshing inside the tip
    Parameter Type = bool
    Default = true
    Local Type = top
END

PARAMETER: Hub And Shroud Node Distribution For Inlet And Outlet
    Description = Hub and shroud node distribution for inlet and outlet
    Parameter Type = String
    Allowed String List = Uniform, Nonuniform
    Default = Nonuniform
    Local Type = extend
END

SINGLETON:MESH DISPLAY
  Category = selectable, uneditable
  Scheduler = top
  CCLObject Class = MeshDisplayCCLObject
  Internal Parameter List = Object State
  Optional Parameter List = Mesh Data to Mesh Display Link, Hidden in Viewer List
  Allowed Parent List = TG DOMAIN,ROOT
END

PARAMETER:Mesh Data to Mesh Display Link
  Parameter Type = String List
  Description = Special parameter to force MESH DISPLAY to update when the MESH DATA is updated
  Default = /MESH DATA
  Remote Type = extend
  Local Type = top
END

PARAMETER:Autogenerate Layers at Mesh Creation
  Parameter Type = Logical
  Description = If true, TG will create layers as required before mesh is created
  Default = on
END

PARAMETER: Leading And Trailing Edge OGrid Control Point Method
    Description = Set method for leading and trailing edge O-grid control point
    Parameter Type = String
    Allowed String List = Point, Curve, Surface
    Default = Surface
    Local Type = top
END

PARAMETER: Leading And Trailing Edges Float On Blade
  Parameter Type = Logical
  Description = If true, TG will create vertices at leading and trailing edges that are free to float on the blade 
  Default = off
  Local Type = top
END

PARAMETER: Leading Edges Float On Blade
  Parameter Type = Logical
  Description = If true, TG will create vertices at leading edges that are free to float on the blade 
  Default = off
  Local Type = top
END

PARAMETER: Trailing Edges Float On Blade
  Parameter Type = Logical
  Description = If true, TG will create vertices at trailing edges that are free to float on the blade 
  Default = off
  Local Type = top
END

PARAMETER: Default Control Point Type
    Description = Controls whether inserted control points will default to MASTER or LOCAL
    Parameter Type = String
    Allowed String List = Master, Local
    Default = Local
END

PARAMETER: Orthogonality Factor On Hub
    Description = Factor for controlling degree of orthogonality across blade on the hub layer
    Parameter Type = Real
    Default = 0.0
    Local Type = top
    Remote Type = expression
END

PARAMETER: Orthogonality Factor On Shroud
    Description = Factor for controlling degree of orthogonality across blade on the shroud layer
    Parameter Type = Real
    Default = 0.0
    Local Type = top
    Remote Type = expression
END

SINGLETON:MESH QUALITY
 Category = selectable
 Internal Parameter List = Object State
 Allowed Parent List = TG DOMAIN,ROOT
END

SINGLETON:LAYERS
  CCLObject Class = LayersCCLObject
  Category = selectable
  Scheduler = top, calc
  Optional Parameter List = Intermediate Layer Insertion Mode, \
                            Requested Layer Count, \
                            Orthogonality Factor On Hub, Orthogonality Factor On Shroud, \ 
                            Leading And Trailing Edge OGrid Control Point Method, \
                            Leading And Trailing Edges Float On Blade, \
                            Leading Edges Float On Blade, Trailing Edges Float On Blade, \
                            Visualize Accurate Refined Mesh On Layers, \
                            Default Control Point Type, Hidden in Viewer List, \
                            Overlap Low And High Blade Curves, \
                            Topologyset Link
  Internal Parameter List = Object State
  Allowed Parent List = TG DOMAIN,ROOT
END

PARAMETER: Topologyset Link
  Parameter Type = String
  Local Type = calc
  Remote Type = edges
  Default = /TOPOLOGY SET
END

PARAMETER: Requested Layer Count
  Parameter Type = Integer
  Local Type = calc
  Default = 0
END

PARAMETER: Intermediate Layer Insertion Mode
  Parameter Type = String
  Allowed String List = Automatic Uniform, Manual Uniform, Automatic Adaptive, Manual Adaptive
  Local Type = calc
  Default = Automatic Adaptive
END

PARAMETER: Overlap Low And High Blade Curves
  Parameter Type = Logical
  Default = true
  Local Type = top
  Description = If true, always use blade curves which overlap.  Otherwise, only \
                use overlapping curves when leading/trailing edge are not locked \
                to geometry.
END
PARAMETER: Visualize Accurate Refined Mesh On Layers
  Parameter Type = Logical
  Default = False
  Description = Turn on to visualize the exact refined mesh on Layers used to \
                create 3D mesh.
  Local Type = top
END

SINGLETON:USER DEFINED
  Category = selectable, uneditable
  Internal Parameter List = Object State
  Allowed Parent List = ROOT
END
# TURBOGRID Rotation Data
 PARAMETER: Periodic Angle Method
  Parameter Type = String
  Default = Specified Count
  Allowed String List = Specified Count, Specified Angle
  Description = Method to determine periodic angle
  Local Type = top
 END

 PARAMETER: Bladeset Count
  Parameter Type = Integer
  Default = 0
  Description = Number of sets of blades in a full circle of the stage
  Local Type = top
 END

 PARAMETER: Periodic Angle
  Parameter Type = Real
  Default = 15.0 [degree]
  Description = Periodic angle
  Local Type = top
  Remote Type = expression
 END

 PARAMETER: Turbo Transform Background Mesh Size
  Parameter Type = Integer
  Default = 2000
  Description = Background mesh size of full Turbo Transform
  Local Type = top
 END

 PARAMETER: Turbo Transform Background Mesh Size For Topology
  Parameter Type = Integer
  Default = 2000
  Description = Background mesh size of full Turbo Transform for Topology
  Local Type = top
 END

 PARAMETER: Blades Per Bladeset
  Parameter Type = Integer
  Default = 1
  Description = Number of blades in the bladeset we are analysing
 END

 PARAMETER: Effectively Zero Radius
  Parameter Type = Real
  Default = 0.0
  Description = Value to be considered zero radius
  Local Type = top
  Remote Type = expression
 END

 PARAMETER: Hub Or Shroud Units For Effectively Zero Radius
   Parameter Type = String
   Description = Length units read from the  hub or shroud file used for determining effectively zero radius. 
   # Local Type=top
 END

 PARAMETER: Periodic List
  Parameter Type = String List
  Description = List of the periodics in the domain
  Remote Type = top
  Local Type = segment
 END

 PARAMETER: Blade List For Periodic
  Parameter Type = String List
  Description = List of the blades in the domain
  Remote Type = extend
  Local Type = top
 END

 PARAMETER: Opening List For Periodic
  Parameter Type = String List
  Description = List of openings for the periodic surfaces
  Remote Type = top
  Local Type = trimmed
 END

 PARAMETER: Surface Representation
  Parameter Type = String
  Default = Bspline
  Allowed String List = Ruled, Bspline
  Local Type = top
  Description = Specifies if the surface representation of blade is Ruled or Bspline.
 END

 PARAMETER: BM Surface Representation
  Parameter Type = String
  Default = Ruled
  Allowed String List = Ruled, Bspline
  Description = Specifies the surface representation when geometry source is BladeModeler.
 END

 PARAMETER: Actual Surface Representation
  Parameter Type = String
  Allowed String List = Ruled, Bspline
  Description = Internal parameter which specifies which surface representation \
                for the blade was used.
 END
 PARAMETER: Blade Surface Creation Method
  Parameter Type = String
  Default = Loft Spanwise  
  Allowed String List = Loft Spanwise, Loft Streamwise  
  Local Type = top
  Description = Specifies the method for blade surface creation.
 END
 PARAMETER: BM Blade Surface Creation Method
  Parameter Type = String
  Default = Loft Spanwise
  Allowed String List = Loft Spanwise, Loft Streamwise  
  Description = Specifies the method for blade surface creation when geomerty source \
                is BladeModeler.
 END
 PARAMETER: FM Blade Surface Creation Method
  Parameter Type = String
  Default = Loft Streamwise
  Allowed String List = Loft Spanwise, Loft Streamwise  
  Description = Specifies the method for blade surface creation when geomerty source \
                is Flank Milled.
 END

 PARAMETER: Actual Blade Surface Creation Method
  Parameter Type = String
  Allowed String List = Loft Spanwise, Loft Streamwise  
  Description = Internal parameter that specifies which method was used for blade \
                surface creation.
 END
 
 PARAMETER: Locate Leading And Trailing Edges From Average
  Description = If true will try to enforce constant number of points in profiles defining the blade surface.
  Parameter Type = Bool
  Local Type = top
 END
 
 PARAMETER: Ignore Leading And Trailing Tags From Profiles
  Description = If true leading and trailing tags in profiles will be ignored.
  Parameter Type = Bool
  Local Type = top
 END

 PARAMETER: Curve Representation
  Parameter Type = String
  Default = Bspline
  Allowed String List = Piece-wise linear, Bspline
  Local Type = curvetype
  Description = Specifies if the curve representation of blade, hub or shroud is Ruled or Bspline.
 END

 PARAMETER: BM Curve Representation
  Parameter Type = String
  Default = Bspline
  Allowed String List = Piece-wise linear, Bspline
  Description = Specifies the curve representation of blade when geometry source is BladeModeler.
 END

 PARAMETER: Actual Curve Representation
  Parameter Type = String
  Allowed String List = Piece-wise linear, Bspline
  Description = Internal parameter that specifies which curve representation was \
                used for the blade.
 END

 PARAMETER: Simplify Curves
  Description = Logical flag to control simplification of curves
  Parameter Type = Logical
  Default = false
  Local Type = top
 END

 PARAMETER: Surface Extension Factor
  Description = Factor used to extend blade surfaces defined by stack of profiles to ensure intersection with hub and shroud
  Parameter Type = Real
  Default = 0.1
  Local Type = top
  Remote Type = expression
 END
 
 PARAMETER: Surface Extension Method
  Description = Method used to extend blade surfaces defined by stack of profiles to ensure intersection with hub and shroud
  Parameter Type = String
  Allowed String List = Extend, Extend and Loft 
  Default = Extrapolate
  Local Type = top
 END

 PARAMETER: Inlet Point
  Parameter Type = String
  Description = The point representing the inlet position (Low theta) on a HUB or SHROUD
  Remote Type = top
  Local Type = trimmed
 END

 PARAMETER: Outlet Point
  Parameter Type = String
  Description = The point representing the outlet position (Low theta) on a HUB or SHROUD
  Remote Type = top
  Local Type = trimmed
 END

PARAMETER:Initializer
  Parameter Type = String List
  Description = Objects which cause this object to be initialised if they change
  Remote Type = segment
  Local Type = set
END

PARAMETER:Hub Name For Blade
  Parameter Type = String
  Description = Name of the Hub object for Blade Surfaces. \
    Makes the blade recalculate its trim and extensions when the file \
    or the extensions angles change.
  Remote Type = transform top
  Local Type = transform top
END

PARAMETER:Shroud Name for Machine Data Image
  Parameter Type = String
  Description = Name of the Hub object for drawing the Machine Data symbol. \
    Makes the blade recalculate its trim and extensions when the file \
    or the extensions angles change.
  Remote Type = top
  Local Type = render
END

PARAMETER:Shroud Name For Blade
  Parameter Type = String
  Description = Name of the Shroud object for Blade Surfaces. \
    Makes the blade recalculate its trim and extensions when the file \
    or the extensions angles change.
  Remote Type = transform top
  Local Type = transform top
END

PARAMETER:Hub Name For Transform
  Parameter Type = String
  Description = Name of the Hub object for Blade Surfaces. \
    Makes the blade recalculate its trim and extensions when the file \
    or the extensions angles change.
  Remote Type = clean
  Local Type = top
END

PARAMETER:Shroud Name For Transform
  Parameter Type = String
  Description = Name of the Shroud object for Blade Surfaces. \
    Makes the blade recalculate its trim and extensions when the file \
    or the extensions angles change.
  Remote Type = clean
  Local Type = top
END

PARAMETER:Theta Controllers For Blade
  Parameter Type = String List
  Description = List of the objects that control the angle of the inlet and outlet passages. \
    Makes the blade recalculate its extensions when \
    the extensions angles change.
  Remote Type = theta
  Local Type = extend
END

PARAMETER:Tip Names For Blade
  Parameter Type = String List
  Description = Special parameter to force BLADE:top to fire after the tip objects
  Default = ../BLADE SET/HUB TIP,../BLADE SET/SHROUD TIP
  Remote Type = top
  Local Type = top
END

PARAMETER:Tip Names For Blade Distance
  Parameter Type = String List
  Description = Special parameter to force BLADE:tip to fire after the tip objects
  Remote Type = surfaces
  Local Type = tip
END

PARAMETER:Edge Links
  Parameter Type = String List
  Description = Special parameter to force BLADE:centreline to fire after the leading and \
    trailing edges are calculated
  Remote Type = top
  Local Type = edges
END

PARAMETER:Mesh Data Link
  Parameter Type = String List
  Description = Special parameter to force objects to redraw when the MESH DATA is updated
  Default = /MESH DATA
  Remote Type = calc
  Local Type = generate
END

PARAMETER:Layer Render Link
  Parameter Type = String List
  Description = Special parameter to force objects to redraw when the LAYER is updated
  Remote Type = render
  Local Type = top
END

PARAMETER:Span Geometry Link
  Parameter Type = String List
  Description = Special parameter to force LAYER to recompute its Span Geometry as required
  Default = /TOPOLOGY SET
  Remote Type = span geometry
  Local Type = span geometry
END

PARAMETER:Topologyset Surfaces Link
  Parameter Type = String List
  Description = Special parameter to force LAYER to recompute its Span Geometry as required
  Default = /TOPOLOGY SET
  Remote Type = surfaces
  Local Type = surfaces
END

PARAMETER:Mesh Data Span Geometry Link
  Parameter Type = String List
  Description = Special parameter to force LAYER to recompute its Span Geometry as required
  Default = /MESH DATA
  Remote Type = surfaces
  Local Type = surfaces
END

PARAMETER:Master Point List
  Parameter Type = String List
  Description = List of master points associated with a layer
  Remote Type = calc
  Local Type = calc
END

PARAMETER:Control Point List
  Parameter Type = String List
  Description = List of control points associated with a layer
  Remote Type = calc
  Local Type = set
END

PARAMETER: Leading Edge Method
  Parameter Type = String
  Allowed String List = Low A, High A, Low R, High R
  Description = How to find the leading edge automatically
  Default = Low A
  Local Type = top
  Default = Low A
END

PARAMETER: Trailing Edge Method
  Parameter Type = String
  Allowed String List = Low A, High A, Low R, High R
  Description = How to find the leading edge automatically
  Default = High A
  Local Type = top
END

PARAMETER: Override Automatic Angles
  Parameter Type = Logical
  Description = Whether the blade passage follows the blade or is set by the user
  Default = No
  Local Type = theta
END

PARAMETER: Hub Angle
  Parameter Type = Real
  Description = The angle of the blade passage at the hub
  Local Type = theta
  Remote Type = expression
END

PARAMETER: Shroud Angle
  Parameter Type = Real
  Description = The angle of the blade passage at the shroud
  Local Type = theta
  Remote Type = expression
END

PARAMETER: Default Hub Angle
  Parameter Type = Real
  Description = The angle of the blade passage at the hub when it follows the blade. \
        not set by the user.
  Local Type = theta
  Remote Type = expression
END

PARAMETER: Default Shroud Angle
  Parameter Type = Real
  Description = The angle of the blade passage at the shroud when it follows the blade. \
        not set by the user.
  Local Type = theta
  Remote Type = expression
END

PARAMETER: Length Scale
  Parameter Type = Real
  Description = Length to use as a maximum ICEM tolerance
  Default = 1.0
END

PARAMETER: Length Scale Multiplier
  Parameter Type = Real
  Default = 1.0
  Description = Multiplier of length to use as a maximum ICEM tolerance
  Local Type = tolerance
  Remote Type = expression
END

PARAMETER: Leading Edge Type
  Parameter Type = String
  Allowed String List = Single, Double, Double Rounded, Double Blunt, Double Cutoff
  Default = Single
  Description = whether there is one leading edge, a double edge with sharp corners of \
     a double edge with rounded corners
  Local Type = top
END

PARAMETER: Trailing Edge Type
  Parameter Type = String
  Allowed String List = Single, Double, Double Rounded, Double Blunt, Double Cutoff
  Default = Single
  Description = whether there is one leading edge, a double edge with sharp corners of \
     a double edge with rounded corners
  Local Type = top
END

PARAMETER: Blade Edge Detection Space
  Parameter Type = String
  Allowed String List = Auto, Cartesian, Cylindrical
  Default = Auto
  Description = Defines the space in which detection will be made
  Local Type = top
END

PARAMETER: Periodic Surface Bias
  Parameter Type = Real
  Description = Biasing to control placement of periodic surfaces relative to blade centreline
  Default = 0.5
  Local Type = extend
  Remote Type = expression
END

PARAMETER: Periodic And Passage Interface Surface Method
  Parameter Type = String
  Allowed String List = Blade Centerline, Blade Extents, Average Blade Theta, Before Version 11.0
  Default = Blade Extents
  Description = Defines the method used to create the periodic and passage interface surfaces
  Local Type = extend
END

PARAMETER: Ignore Length Range Errors
  Parameter Type = Logical
  Default = false
  Local Type = top
  Description = If true, length range problems will be reported as warnings and not errors.
END

PARAMETER: Machine Type
  Parameter Type = String
  Allowed String List = Pump, Fan, Axial Compressor, Centrifugal Compressor, \
                        Axial Turbine, Radial Turbine, Wind Turbine, Tandem Vane, Other
  Default = Other
  Local Type = machine
END

PARAMETER: INF Filename
  Parameter Type = String
END



#############   CAD STUFF ###############

SINGLETON: CAD
  CCLObject Class = CADCCLObject
  Category = suspendable
  Scheduler = load cad, draw
  Optional Parameter List = File Name, Hide All CF, Hide All CTI, Hide BladeSet, Template List, Geometry Units, File Type, Delete PART Families
  Internal Parameter List = Object State, \
                            Blade Template List,   Insertable Blade Template List,   Singleton Blade Template List, \
                            General Template List, Insertable General Template List, Singleton General Template List, \
                            Parent Input Type Link
  Allowed Parent List = GEOMETRY

  PARAMETER: Parent Input Type Link
    Parameter Type = String
    Default = .
    Local Type = load cad
    Remote Type = read data
  END

  PARAMETER: File Name
    Parameter Type = String
    Local Type = load cad
  END  
  PARAMETER: Geometry Units
    Parameter Type = String
    Local Type = load cad
  END
  PARAMETER: File Type
    Parameter Type = String
    Local Type = load cad
    Allowed String List = model, tetin, automatic
    Default = automatic
  END
  PARAMETER: Hide All CF
    Parameter Type = Logical
    Default = false
    Local Type = draw
  END  
  PARAMETER: Hide All CTI
    Parameter Type = Logical
    Default = false
    Local Type = draw
  END    
  PARAMETER: Hide BladeSet
    Parameter Type = Logical
    Default = false
    Local Type = draw
  END  
  PARAMETER: Delete PART Families
    Parameter Type = Logical
    Default = false
    Local Type = load cad
  END
  PARAMETER: Template List
    Parameter Type = String List
  END  
  PARAMETER: Blade Template List
    Parameter Type = String List
  END  
  PARAMETER: Singleton Blade Template List
    Parameter Type = String List
  END  
  PARAMETER: Insertable Blade Template List
    Parameter Type = String List
  END 
  PARAMETER: General Template List
    Parameter Type = String List
  END  
  PARAMETER: Singleton General Template List
    Parameter Type = String List
  END  
  PARAMETER: Insertable General Template List
    Parameter Type = String List
  END 
END

OBJECT: CAD FAMILY #the child GDI keeps the list of CAD names
  CCLObject Class = CadFamilyCCLObject
  Category = deletable, viewer-viewable, kernel-surface
  Scheduler = top, render
  Optional Parameter List = Visibility, Hide Surfaces, Hide Curves, Hide Points
  Internal Parameter List = Object State, Parent Load Cad Link, Parent Draw Link
  Allowed Parent List = CAD
  PARAMETER: Parent Load Cad Link
    Parameter Type = String
    Default = .
    Local Type = top
    Remote Type = load cad
  END
  PARAMETER: Parent Draw Link
    Parameter Type = String
    Default = .
    Local Type = render
    Remote Type = draw
  END
END

OBJECT: CAD TOPOLOGY INSTANCE
  Category = selectable, deletable, viewer-viewable
  CCLObject Class = CADTopologyInstanceCCLObject
  Scheduler = read data, load cad, change template name, top, render, set
  Scheduler Links = read data,change template name,  change template name,top,  top,render, top,set
  Optional Parameter List = Template Name, CTI Name, Load Cad Verification Link, Visibility, \
                            Error Detected, Error Message, \
                            Parent Draw Link, Entity Definition Top Link
  Internal Parameter List = Object State, Old Template Name, Is Blade
  Allowed Parent List = CAD
  
  PARAMETER: Template Name
    Parameter Type = String
    Local Type = change template name
  END
  PARAMETER: Old Template Name
    Parameter Type = String
  END
  PARAMETER: CTI Name
    Parameter Type = String
  END
  PARAMETER: Is Blade
    Parameter Type = Logical
    Default = false
  END
  PARAMETER: Error Detected
    Parameter Type = Logical
    Default = false
    Local Type = set
  END
  PARAMETER: Error Message
    Parameter Type = String
    Default = 
    Local Type = set
  END
  PARAMETER: Load Cad Verification Link
    Parameter Type = String
    Default = .
    Local Type = load cad
    Remote Type = load cad
  END
  PARAMETER: Parent Draw Link
    Parameter Type = String
    Default = .
    Local Type = render
    Remote Type = draw
  END
  PARAMETER: Entity Definition Top Link
    Parameter Type = String List
    Local Type = top
    Remote Type = top
  END
END

OBJECT: ENTITY DEFINITION
  Category = selectable, deletable
  CCLObject Class = EntityDefinitionCCLObject
  Scheduler = top, render
  Optional Parameter List = Geometry List, Primitive Type, Parent Load Cad Link, \
                            Hide Surfaces, Hide Curves, Hide Points, Visibility
  Internal Parameter List = Object State
  Allowed Parent List = CAD TOPOLOGY INSTANCE

  PARAMETER: Geometry List
    Parameter Type = String List
    Local Type = top
  END
  PARAMETER: Primitive Type
    Parameter Type = String
    Allowed String List = Surface, Curve, Point
  END
  PARAMETER: Parent Load Cad Link
    Parameter Type = String
    # Value MUST be defined upon object creation
    Local Type = top
    Remote Type = load cad
  END
END

OBJECT: GEOMETRY DISPLAY INSTANCE
  Category = constant-colour, viewer-viewable, kernel-surface, deletable, suspendable
  CCLObject Class = GeometryDisplayInstanceCCLObject
  Scheduler = top, read data, toggle hide, draw, render, colour
  Scheduler Links = top,read data,  read data,toggle hide,  toggle hide,draw,  colour,draw,  draw,render
  Optional Parameter List = Visibility, Show Curve, Show Surface, Show Point, \
                            Colour Mode, Draw Lines, Colour, Line Colour, Line Width, \
                            Colour Variable, Range, Min, Max, \ 
                            Draw Faces, Surface Drawing, Lighting, Transparency, Specular Lighting, \
                            Culling Mode, Apply Instancing Transform, Render Edge Angle, \
                            Colour Map, Visibility In Transformed Coordinates, \
                            CAD Surface List, CAD Curve List, CAD Point List, \
                            Sub Type, Parent CAD Sync Link, Hidden Geometry List
  Internal Parameter List = Object State, GDI Initialized, Hidden Surfaces, Hidden Curves, Hidden Points, \
                            Old Hidden List
  Allowed Parent List = CAD, CAD FAMILY, ENTITY DEFINITION

  PARAMETER: CAD Surface List
    Parameter Type = String List
    Local Type = draw
  END
  PARAMETER: CAD Curve List
    Parameter Type = String List
    Local Type = draw
  END
  PARAMETER: CAD Point List
    Parameter Type = String List
    Local Type = draw
  END
  PARAMETER: Hidden Geometry List
    Parameter Type = String List
    Local Type = toggle hide
  END
  PARAMETER: Old Hidden List
    Parameter Type = String List
  END
  PARAMETER: GDI Initialized
    Parameter Type = Logical
    Default = false
  END
  PARAMETER: Sub Type
    Parameter Type = String
    Default = 
    Allowed String List = No Type, Highlight, Composite, Cad Family
  END
  PARAMETER: Show Point
    Parameter Type = Logical
    Default = true
    Local Type = draw
  END
  PARAMETER: Parent CAD Sync Link
    Parameter Type = String
    # Value MUST be defined upon object creation
    Local Type = draw
    Remote Type = top
  END
  PARAMETER: Hidden Surfaces
    Parameter Type = Logical
    Default = false
  END
  PARAMETER: Hidden Curves
    Parameter Type = Logical
    Default = false
  END
  PARAMETER: Hidden Points
    Parameter Type = Logical
    Default = false
  END
  PARAMETER:Visibility In Transformed Coordinates
    Parameter Type =
      Description = True if this object is to be displayed in the transformed coordinates
      Parameter Type = Logical
      Default = false
      Local Type = draw
  END
END

OBJECT: POINT DISPLAY
  Category = constant-colour, viewer-viewable, kernel-point, deletable
  CCLObject Class = PointDisplayCCLObject
  Scheduler = top, draw, render, colour, symbol
  Scheduler Links = top,draw,   colour,draw,   symbol,draw,   draw,render
  Optional Parameter List = Symbol Size,Point Symbol,Normalized, \
                            Transparency, Visibility,\
                            Surface Drawing, Draw Faces, Draw Lines, \
                            Line Colour, Line Width, Colour Map,\
                            Lighting,Colour Mode, Colour, Colour Variable Boundary Values, \
                            Specular Lighting, Culling Mode, Initializer, \
                            Symbol Control Object, \
                            Parent GDI Link
  Internal Parameter List = Object State
  Allowed Parent List = GEOMETRY DISPLAY INSTANCE
  PARAMETER: Parent GDI Link
    Parameter Type = String
    Default = .
    Local Type = draw
    Remote Type = draw
  END
END

  #Shared CAD Params
PARAMETER: Hide Surfaces
  Parameter Type = Logical
  Default = false
  Local Type = render
END

PARAMETER: Hide Curves
  Parameter Type = Logical
  Default = false
  Local Type = render
END

PARAMETER: Hide Points
  Parameter Type = Logical
  Default = false
  Local Type = render
END

#############  END CAD STUFF ###############



SINGLETON: MACHINE DATA
  # specifies the rotation axis and bladeset count of a stage
  # Scheduler top deals with changes to the axis itself, and angle deals with the periodicity
  Category = selectable, suspendable
  CCLObject Class = MachineDataCCLObject
  Scheduler = axis,top,machine,symbol,render
  Scheduler Links = axis,top, top,symbol, symbol,render
  Essential Parameter List = Shroud Name for Machine Data Image
  Optional Parameter List = Rotation Axis Type,Bladeset Count,Principal Axis, \
       Periodic Angle Method, Periodic Angle, \
       Rotation Axis From, Rotation Axis To, \
       Override Upstream Geometry Options, \
       Blades Per Bladeset, File Length Units, \
       Effectively Zero Radius, Hub Or Shroud Units For Effectively Zero Radius, Initial State, Symbol Size, \
       Turbo Transform Background Mesh Size, Turbo Transform Background Mesh Size For Topology, Surface Extension Factor, \
       Surface Extension Method, Ignore Length Range Errors, \
       Visibility, Machine Type, INF Filename
  Internal Parameter List = Object State
  Allowed Parent List = GEOMETRY
  PARAMETER: Turbo Transform Background Mesh Size 
       Default  = 2000
  END
  PARAMETER: Turbo Transform Background Mesh Size For Topology 
       Default  = 2000
  END
  PARAMETER: Visibility 
       Default  = off
  END
  PARAMETER: File Length Units
       Default = cm
  END
END




# Note that HUB and SHROUD should be identical

  SINGLETON: HUB
    # Hub and Shroud curves and surfaces. not necessarily surface of rotations later
    CCLObject Class = HubShroudCCLObject
    Category = constant-colour,  \
        selectable, viewer-viewable, kernel-surface
    Scheduler = read data, curvetype, top, clean, segment, trimmed, transform top, transform, draw, colour, render, define regions
    Scheduler Links =  read data,top, curvetype,top,  top,clean,  clean,transform top, transform top,segment, segment,trimmed,\
                        trimmed,draw, transform,draw, draw,colour, colour,render
    Optional Parameter List =   Input Filename,Coordinate Frame Type,Input Angle Units, Curve Representation,Input Length Units, \
                                Override Upstream Geometry Options, \
                                Use True Surface For Projections, Transparency, \
                                Visibility, Surface Drawing, Draw Faces, Draw Lines, \
                                Line Colour, Line Width,Max,Min,Range, \
                                Lighting,Colour Mode, Colour, Colour Variable Boundary Values, \
                                Instancing Transform, Apply Instancing Transform, Render Edge Angle, \
                                Show Curve, Show Surface, Culling Mode, Specular Lighting, Colour Map,\
                                Machine Data, Machine Data Axis Link, Periodic List,Inlet Point, Outlet Point, \
                                Turbo Transform, Turbo Transform Top Link, Visibility In Transformed Coordinates, Affine Transform, \
                                Inlet Trim Link, Outlet Trim Link, \
                                Region Proximity Tolerance, Topology Instance Link, Inlet Topology Instance Link, Outlet Topology Instance Link
    Internal Parameter List = Object State, Load Time
    Allowed Parent List = GEOMETRY
    PARAMETER: Colour
      Default = 0.0, 0.4, 0.7
    END
  END

  SINGLETON: SHROUD
    # Hub and Shroud curves and surfaces. not necessarily surface of rotations later
    CCLObject Class = HubShroudCCLObject
    Category = constant-colour,  \
        selectable, viewer-viewable, kernel-surface
    Scheduler = read data, curvetype, top, clean, segment, trimmed, transform top, transform, draw, colour, render, define regions
    Scheduler Links =  read data,top, curvetype,top,  top,clean,  clean,transform top, transform top,segment, segment,trimmed,\
                        trimmed,draw, transform,draw, draw,colour, colour,render
    Optional Parameter List =   Input Filename,Coordinate Frame Type,Input Angle Units, Curve Representation,Input Length Units,\
                                Override Upstream Geometry Options, \
                                Use True Surface For Projections, Transparency, \
                                Visibility, Surface Drawing, Draw Faces, Draw Lines, \
                                Line Colour, Line Width,Max,Min,Range, \
                                Lighting,Colour Mode, Colour, Colour Variable Boundary Values, Colour Map,\
                                Instancing Transform, Apply Instancing Transform, Render Edge Angle, \
                                Show Curve, Show Surface, Culling Mode, Specular Lighting, \
                                Machine Data, Machine Data Axis Link, Periodic List, Inlet Point, Outlet Point, \
                                Turbo Transform, Turbo Transform Top Link, Visibility In Transformed Coordinates, Affine Transform, \
                                Inlet Trim Link, Outlet Trim Link, \
                                Region Proximity Tolerance, Topology Instance Link, Inlet Topology Instance Link, Outlet Topology Instance Link
     Internal Parameter List = Object State, Load Time
    Allowed Parent List = GEOMETRY
    PARAMETER: Colour
      Default = 0.785, 0.785, 0.785
    END
  END

  PARAMETER: Topology Instance Link
    Type = String
    Local Type = read data
    Remote Type = top
  END
  
  PARAMETER: Blade Set Generate Link
    Type = String
    Default = .
    Local Type = read data
    Remote Type = generate
  END

  PARAMETER: Inlet Topology Instance Link
    Type = String
    Local Type = top
    Remote Type = top
  END

  PARAMETER: Outlet Topology Instance Link
    Type = String
    Local Type = top
    Remote Type = top
  END

  PARAMETER: Region Proximity Tolerance
    Type = Real
    Local Type = define regions
  END
  
  SINGLETON: BLADE SET
    CCLObject Class = BladesetCCLObject
    Category = selectable
    Scheduler = top, tolerance, set, edges, surfaces, tip, extend, calc, generate
    Scheduler Links = surfaces, extend, surfaces, set, set, edges, surfaces, tip
    Optional Parameter List = Periodic Surface Bias, \
                              Reorder Blades By Theta, \
                              Blade List Tolerance Link, \
                              Blade List Surface Link, \
                              Blade List Edges Link, \
                              Blade List Tip Link, \
                              Blade List Extend Link, \
                              Periodic And Passage Interface Surface Method, \
                              Surface Parameterization Number Of Iterations, \
                              Surface Parameterization Number Of Splits, \
                              Number Of Span Profiles, Turbo Transform Link, \
                              Blade Row
    Internal Parameter List = Object State
    Allowed Parent List = GEOMETRY
  END

  PARAMETER: Turbo Transform Link
    Remote Type = top
    Local Type = generate
    Description = A reference to the object holding the MST Turbo Transform. \
      Must ensure TURBO TRANSFORM is set up before Blade is read, or span surfaces are generated.
    Parameter Type = String
    Default = /GEOMETRY/TURBO TRANSFORM
  END

  PARAMETER: Number Of Span Profiles
    Parameter Type = Integer
    Default = 5
    Local Type = generate
  END

  PARAMETER: Blade Row
    Parameter Type = String
  END

  PARAMETER: Surface Parameterization Number Of Iterations
    Type = Integer
    Default = 200
    Local Type = calc
  END

  PARAMETER: Surface Parameterization Number Of Splits
    Type = Integer
    Default = 100
    Local Type = calc
  END

  PARAMETER: Reorder Blades By Theta
    Type = Logical
    Local Type = surfaces
    Default = false
  END

  PARAMETER: Use True Surface For Projections
    Type = Logical
    Local Type = transform top
    Default = false
    Description = If true, than the mesh on the hub/shroud is projected to \
                  a surface created from the true hub/shroud curve \
                  data.  Otherwise, a surface created from the transform is used.
  END

  PARAMETER: Blade List Surface Link
    Type = String
    Local Type = surfaces
    Remote Type = surfaces
  END

  PARAMETER: Blade List Tolerance Link
    Type = String
    Local Type = tolerance
    Remote Type = tolerance
  END

  PARAMETER: Blade List Edges Link
    Type = String
    Local Type = set
    Remote Type = edges
  END

  PARAMETER: Blade List Tip Link
    Type = String
    Local Type = tip
    Remote Type = tip
  END

  PARAMETER: Blade List Extend Link
    Type = String
    Local Type = extend
    Remote Type = extend
  END

  OBJECT: BLADE
    # a blade
    # add a scheduler link "edges,surfaces" when we are ready to have edges cause the blade to redraw
    CCLObject Class = BladeCCLObject
    Category = constant-colour,  \
        selectable, viewer-viewable, kernel-surface, deletable
    Scheduler = read data,top,curvetype,centreline,edges,transform,transform top,surfaces,tip,extend,\
                draw,colour, render, tolerance, trimcentreline
    Scheduler Links = surfaces,centreline, read data,top, top,tolerance, top,transform top, tolerance,surfaces, curvetype,surfaces, \
                      centreline,trimcentreline, centreline,edges, trimcentreline,extend, trimcentreline,tip, \
                      transform top,surfaces,  surfaces, draw,\
                      transform, draw, draw,colour, colour,render
    Optional Parameter List = Input Filename, Coordinate Frame Type, \
                              Input Angle Units, Input Length Units, \
                              Length Scale Multiplier, \
                              Blade Number, Blade Type, \
                              Geometric Representation, \
                              Surface Representation, Curve Representation, \
                              Blade Surface Creation Method, \
                              BM Surface Representation, BM Curve Representation, \
                              BM Blade Surface Creation Method, \
                              FM Blade Surface Creation Method, \
                              Override Upstream Geometry Options, \
                              Simplify Curves, \
                              Leading Edge Method, Trailing Edge Method, \
                              Leading Edge Type, Trailing Edge Type, \
                              Blade Edge Detection Space, \
                              Locate Leading And Trailing Edges From Average, \
                              Ignore Leading And Trailing Tags From Profiles, \
                              LE Definition Specified In INF, \
                              TE Definition Specified In INF, \
                              Parametric Surface Generation Smoother, \
                              Enable Hub Tip, \
                              Enable Shroud Tip, \
                              Bladeset Link, Bladeset Top Link, Bladeset Tip Link,\
                              Machine Data Axis Link, \
                              Edge Links, \
                              Hub Name For Blade, Shroud Name For Blade, Theta Controllers For Blade, \
                              Turbo Transform For Blade, Turbo Transform, \
                              Tip Names For Blade, Tip Names For Blade Distance, \
                              Affine Transform, \
                              Transparency, Visibility, \
                              Surface Drawing, Draw Faces, Draw Lines, \
                              Line Colour, Line Width,Max,Min,Range, \
                              Lighting, Colour Mode, Colour, Colour Variable Boundary Values, \
                              Instancing Transform, Apply Instancing Transform, Render Edge Angle, \
                              Show Curve, Show Surface, Culling Mode, Specular Lighting, Colour Map,\
                              Visibility In Transformed Coordinates, \
                              Topology Instance Link, Blade Set Generate Link, \
                              Show Surface Representations
    Internal Parameter List = Length Scale, Object State, \
                              Minimum Bounding Box, Maximum Bounding Box, \
                              Profile Count, Blade Height, Load Time, Blade Order, \
                              Actual Surface Representation, \
                              Actual Curve Representation, \
                              Actual Blade Surface Creation Method
    Allowed Parent List = BLADE SET
    PARAMETER: Colour
      Default = 0.55, 0.55, 0.59
    END
  END

  PARAMETER: Parametric Surface Generation Smoother
    Parameter Type = String
    Allowed String List = Elliptic, Angle-based
    Default = Elliptic
    Local Type = read data
  END

  PARAMETER: Show Surface Representations
    Parameter Type = Logical
    Default = false
    Local Type = draw
  END

  PARAMETER: LE Definition Specified In INF
    Parameter Type = Logical
    Default = false
  END

  PARAMETER: TE Definition Specified In INF
    Parameter Type = Logical
    Default = false
  END

  PARAMETER: Blade Order
    Parameter Type = Integer
  END

  PARAMETER: Turbo Transform For Blade
    Parameter Type = String
    Default = /GEOMETRY/TURBO TRANSFORM
    Local Type = top
    Remote Type = top
    Description = A reference to the object holding the MST Turbo Transform. \
      Must ensure TURBO TRANSFORM is set up before Blade is read.
  END

  PARAMETER: Bladeset Link
    Parameter Type = String
    Default = ../BLADE SET
    Local Type = surfaces
    Remote Type = tolerance
  END

  PARAMETER: Bladeset Top Link
    Parameter Type = String
    Default = ../BLADE SET
    Local Type = top
    Remote Type = top
  END

  PARAMETER: Bladeset Tip Link
    Parameter Type = String
    Default = ../BLADE SET
    Local Type = draw
    Remote Type = tip
  END
 
  PARAMETER: Blade Number
    Description = The blade definition the blade should use from blade collection.
    Parameter Type = Integer
    Default = 0
    Local Type = top
  END

  PARAMETER: Blade Type
    Description = The type of blade this represents.
    Parameter Type = String
    Default = Main
    Allowed String List = Main, Splitter, Tandem Vane
  END

  PARAMETER: Geometric Representation
    Description = This specifies how the blade should be geometrically represented.
    Parameter Type = String
    Allowed String List = BladeModeler, Flank Milled, Specify
    Default = Specify
    Local Type = top
  END

  PARAMETER: Enable Hub Tip
    Description = Indicates whether the global hub tip is applied to the blade. \
                  Use of this feature to suppress the hub tip for a particular blade \
                  is not recommended as the mesh may not lie on the blade in the tip region.
    Parameter Type = Logical
    Default = true
    Local Type = top
  END

  PARAMETER: Enable Shroud Tip
    Description = Indicates whether the global shroud tip is applied to the blade. \
                  Use of this feature to suppress the shroud tip for a particular blade \
                  is not recommended as the mesh may not lie on the blade in the tip region.
    Parameter Type = Logical
    Default = true
    Local Type = top
  END

  PARAMETER: Override Upstream Geometry Options
    Description = When running under Workbench, this enables the user to override \
                  certain parameters that control geometry creation that are normally \
                  specified in the INF file.
    Parameter Type = Logical
    Default = false
  END

  PARAMETER: Blade Set Tolerance Link
    Parameter Type = String
    Remote Type = tip
    Local Type = read data
  END

  SINGLETON: INLET
    CCLObject Class = OpeningCCLObject
    Category = constant-colour,  \
        selectable, viewer-viewable, kernel-surface
    Scheduler = read data, theta, curvetype, top, clean, transform,draw,colour, render, initialize, trimopening, define regions
    Scheduler Links =  transform,read data, read data,top, curvetype,top, top,draw,  draw,colour, colour,render, top,define regions
    Essential Parameter List = Start Point,End Point
    Optional Parameter List =   Intermediate Points, \
                                Opening Mode, \
                                Transparency, Visibility, Domain Visibility,\
                                Surface Drawing, Draw Faces, Draw Lines, \
                                Line Colour, Line Width,Max,Min,Range, \
                                Lighting,Colour Mode, Colour,Colour Map,\
                                Instancing Transform, Apply Instancing Transform, Render Edge Angle, \
                                Specular Lighting, Culling Mode, Colour Variable Boundary Values, \
                                Parametric Hub Location, Parametric Shroud Location, \
                                Use Simple Conic Surface, \
                                Show Curve, Show Surface, Input Filename, \
                                Override Automatic Angles, Hub Angle, Shroud Angle, \
                                Generate Intermediate Points, \
                                Maximum Intermediate Points, Target Tolerance, \
                                Turbo Transform, Visibility In Transformed Coordinates, \
                                Curve Representation, Blade Set Tolerance Link, \
                                Toggle Trim, Trim AR Location Method, \
                                Trim Hub Position,  Trim Shroud Position, \
                                Trim Intersection Point 1, Trim Intersection Point 2
    Internal Parameter List = Object State, Default Hub Angle, Default Shroud Angle
    Allowed Parent List = GEOMETRY
    PARAMETER: Visibility 
         Default  = off
    END
  END

  SINGLETON: OUTLET
    CCLObject Class = OpeningCCLObject
    Category = constant-colour,  \
        selectable, viewer-viewable, kernel-surface
    Scheduler = read data, theta, curvetype, top, clean, transform,draw,colour, render, initialize, trimopening, define regions
    Scheduler Links =  read data,top, curvetype,top, top,transform, transform,draw, draw,colour, colour,render, top,define regions
    Essential Parameter List = Start Point,End Point
    Optional Parameter List =   Intermediate Points, \
                                Opening Mode, \
                                Transparency, Visibility,  Domain Visibility,\
                                Surface Drawing, Draw Faces, Draw Lines, \
                                Line Colour, Line Width,Max,Min,Range, \
                                Lighting,Colour Mode, Colour,Colour Map,\
                                Instancing Transform, Apply Instancing Transform, Render Edge Angle, \
                                Specular Lighting, Culling Mode, Colour Variable Boundary Values, \
                                Show Curve, Show Surface,Input Filename, \
                                Override Automatic Angles, Hub Angle, Shroud Angle, \
                                Generate Intermediate Points, \
                                Meridional Splitter Filename, Meridional Splitter Curve Type, \
                                Input Length Units, \
                                Parametric Hub Location, Parametric Shroud Location, \
                                Use Simple Conic Surface, \
                                Meridional Splitter Hub Boundary Layer Fraction, Meridional Splitter Shroud Boundary Layer Fraction, \
                                Meridional Splitter Domain Hub Parametric Location, \
                                Meridional Splitter Domain Shroud Parametric Location, \
                                Meridional Splitter Interface Hub Parametric Location, \
                                Meridional Splitter Interface Shroud Parametric Location, \
                                Maximum Intermediate Points, Target Tolerance, \
                                Turbo Transform, Visibility In Transformed Coordinates, \
                                Curve Representation, Blade Set Tolerance Link, \
                                Toggle Trim , Trim AR Location Method, \
                                Trim Hub Position,  Trim Shroud Position, \
                                Trim Intersection Point 1, Trim Intersection Point 2
                                Internal Parameter List = Object State, Default Hub Angle, Default Shroud Angle
    Allowed Parent List = GEOMETRY
    PARAMETER: Visibility 
         Default  = off
    END
    PARAMETER: Input Length Units
         Default =
    END
  END

  PARAMETER: Opening Mode
    Parameter Type = String
    Allowed String List = Parametric, Fully extend, Adjacent blade, Meridional splitter, Points
    Default Value = Parametric
    Local Type = read data
  END
   
  PARAMETER: Meridional Splitter Filename
    Parameter Type = String
    Description = The filename to read the data from
    Local Type = read data
  END
 
  PARAMETER: Meridional Splitter Curve Type
    Parameter Type = String
    Default = Bspline
    Allowed String List = Piece-wise linear, Bspline
    Local Type = read data
    Description = Specifies if the curve representation of meridional splitter
  END

  PARAMETER: Meridional Splitter Hub Boundary Layer Fraction
    Parameter Type = Real
    Default = 0.25
    Local Type = read data
  END

  PARAMETER: Meridional Splitter Shroud Boundary Layer Fraction
    Parameter Type = Real
    Default = 0.25
    Local Type = read data
  END

  PARAMETER: Meridional Splitter Domain Hub Parametric Location
    Parameter Type = Real
    Local Type = read data
    Description = A parametric location between 0.0 and 1.0 specifying how far the \
                domain parameterization should extend.
  END

  PARAMETER: Meridional Splitter Domain Shroud Parametric Location
    Parameter Type = Real
    Local Type = read data
    Description = A parametric location between 0.0 and 1.0 specifying how far the \
                domain parameterization should extend.
  END

  PARAMETER: Meridional Splitter Interface Hub Parametric Location
    Parameter Type = Real
    Local Type = read data
    Default = 0.5
    Description = A parametric location between 0.0 and 1.0 specifying where the \
                interface between the passage and outlet should be.
  END

  PARAMETER: Meridional Splitter Interface Shroud Parametric Location
    Parameter Type = Real
    Local Type = read data
    Default = 0.5
    Description = A parametric location between 0.0 and 1.0 specifying where the \
                interface between the passage and outlet should be.
  END

  PARAMETER: Parametric Hub Location
    Parameter Type = Real
    Local Type = read data
    Default = 0.5
    Description = A parametric location between 0.0 and 1.0 specifying where the \
                interface between the passage and opening should be.
  END

  PARAMETER: Parametric Shroud Location
    Parameter Type = Real
    Local Type = read data
    Default = 0.5
    Description = A parametric location between 0.0 and 1.0 specifying where the \
                interface between the passage and opening should be.
  END

  PARAMETER: Use Simple Conic Surface
    Parameter Type = Logical
    Default = Off
    Local Type = top
  END

  # The scheduler link (define regions,pre topology) is indirect - All opening regions must be projected 
  # (and at least one must exist) before it can do anything.
  SINGLETON: REGION DATA
    CCLObject Class = RegionDataCCLObject
    Category = 
    Scheduler = define regions, pre topology
    Scheduler Links = define regions,pre topology
    Optional Parameter List = InOut Define Regions Link, Hub Opening Regions Link, Shroud Opening Regions Link, Proximity Change Link, \
                              Inlet Spellcheck, Outlet Spellcheck, Mesh Data Turbo Link
    Internal Parameter List = Inlet Segment Positions, Outlet Segment Positions, \
                              In Hub Region Names, In Shroud Region Names, \
                              Out Hub Region Names, Out Shroud Region Names
    Allowed Parent List = GEOMETRY
  END


  PARAMETER: In Hub Region Names
    Parameter Type = String List
  END
  PARAMETER: In Shroud Region Names
    Parameter Type = String List
  END
  PARAMETER: Out Hub Region Names
    Parameter Type = String List
  END
  PARAMETER: Out Shroud Region Names
    Parameter Type = String List
  END

  PARAMETER: Inlet Spellcheck
    Parameter Type = String
  END

  PARAMETER: Outlet Spellcheck
    Parameter Type = String
  END

  PARAMETER: Proximity Change Link # from hub/shroud
    Parameter Type = String List
    # default in init
    Local Type = pre topology
    Remote Type = define regions
  END

  PARAMETER: Mesh Data Turbo Link
    Parameter Type = String
    # default in init
    Local Type = define regions
    Remote Type = turbo
  END

  PARAMETER: InOut Define Regions Link
    Parameter Type = String List
    # default in init
    Local Type = define regions
    Remote Type = define regions
  END

  PARAMETER: Hub Opening Regions Link
    Parameter Type = String List
    default = 
    Local Type = pre topology
    Remote Type = set
  END

  PARAMETER: Shroud Opening Regions Link
    Parameter Type = String List
    default = 
    Local Type = pre topology
    Remote Type = set
  END

  #The following pair are meant as internal Parameters for communicating with GUI
  PARAMETER: Inlet Segment Positions
    Parameter Type = Real List
  END
  PARAMETER: Outlet Segment Positions
    Parameter Type = Real List
  END



  SINGLETON: HIGH PERIODIC
    CCLObject Class = PeriodicSurfaceCCLObject
    Category = constant-colour,  \
        selectable, viewer-viewable, kernel-surface
    Scheduler = read data, top, trimmed, transform,draw,colour, render
    Scheduler Links = read data,top, top,trimmed, trimmed,transform, transform,draw, \
                      draw,colour, colour,render
    Optional Parameter List = Blade List For Periodic, \
                              Opening List For Periodic, \
                              Turbo Transform, \
                              Periodic Creation Method, \
                              Input Filename, \
                              Input Length Units, \
                              Rotation Angle, \
                              Show Curve, Show Surface, \
                              Visibility In Transformed Coordinates, \
                              Transparency, Visibility,\
                              Surface Drawing, Draw Faces, Draw Lines, \
                              Line Colour, Line Width, Max, Min, Range, \
                              Lighting, Colour Mode, Colour, \
                              Colour Variable Boundary Values, \
                              Instancing Transform, \
                              Apply Instancing Transform, \
                              Render Edge Angle, \
                              Specular Lighting, Culling Mode, Colour Map
    Internal Parameter List = Object State
    Allowed Parent List = GEOMETRY
    PARAMETER: Visibility 
         Default  = off
    END
    PARAMETER: Input Length Units
         Default =
    END
  END

  SINGLETON: LOW PERIODIC
    CCLObject Class = PeriodicSurfaceCCLObject
    Category = constant-colour,  \
        selectable, viewer-viewable, kernel-surface
    Scheduler = read data, top, trimmed, transform, draw, colour, render, define regions
    Scheduler Links = read data,top, top,trimmed, trimmed,transform, transform,draw, \
                      draw,colour, colour,render, trimmed,define regions
    Optional Parameter List = Blade List For Periodic, \
                              Opening List For Periodic, \
                              Turbo Transform, \
                              Periodic Creation Method, \
                              Input Filename, \
                              Input Length Units, \
                              Rotation Angle, \
                              Show Curve, Show Surface, \
                              Visibility In Transformed Coordinates, \
                              Transparency, Visibility,\
                              Surface Drawing, Draw Faces, Draw Lines, \
                              Line Colour, Line Width, Max, Min, Range, \
                              Lighting, Colour Mode, Colour, \
                              Colour Variable Boundary Values, \
                              Instancing Transform, \
                              Apply Instancing Transform, \
                              Render Edge Angle, \
                              Specular Lighting, Culling Mode, Colour Map
    Internal Parameter List = Object State
    Allowed Parent List = GEOMETRY
    PARAMETER: Visibility 
         Default  = off
    END
    PARAMETER: Input Length Units
         Default =
    END
  END

PARAMETER: Periodic Creation Method
  Description = This controls how the periodic surface is created.  It can either \
                be read from file or created automatically based on blade shape.
  Parameter Type = String
  Allowed String List = Automatic, From File
  Default = Automatic
  Local Type = top
END

PARAMETER: Constraining Object
    Description = The curve or surface the point is constrained to. Blank for \
                       no constraints.
    Parameter Type = String
    Remote Type = top
    Local Type = constraint
END
PARAMETER: Constraining Subobject
    Description = The particular ICEM object of the Constraining Object.\
                     If blank it expects there to be only one subobject.
    Parameter Type = String
    Local Type = constraint
END
PARAMETER: Constraining Object For Line
    Description = The surface the line should lie on. Also used to determine whether \
      the line should be drawn as a spline or an unstructured line
    Parameter Type = String
    Remote Type = surfaces
    Local Type = top
END
PARAMETER: Periodic Point
    Description = The other point of a periodic pair
    Parameter Type = String
    Remote Type = calc
    Local Type = top
END
PARAMETER: Low Periodic
    Description = True if this point is the low periodic half of a pair
    Parameter Type = Bool
    Local Type = top
END
PARAMETER: Machine Data
   Parameter Type = String
   Default = MACHINE DATA
   Local Type = top
   Remote Type = top
   Description = Name of object specifying the axis and angle of the stage
END
PARAMETER: Machine Data Axis Link
   Parameter Type = String
   Default = /GEOMETRY/MACHINE DATA
   Local Type = read data
   Remote Type = axis
   Description = Name of object specifying the axis and angle of the stage
END
PARAMETER: Inlet Trim Link
   Parameter Type = String
   Default = /GEOMETRY/INLET
   Local Type = top
   Remote Type = trimopening
   Description = Link to call trimming in hub/shroud based on inlet
END
PARAMETER: Outlet Trim Link
   Parameter Type = String
   Default = /GEOMETRY/OUTLET
   Local Type = top
   Remote Type = trimopening
   Description = Link to call trimming in hub/shroud based on outlet
END

PARAMETER: Point List
    Description = Points of a curve
    Parameter Type = String List
    Remote Type = top
    Local Type = top
END
PARAMETER: Generate Intermediate Points
    Description = flag indicating whether inlet/outlet intermediate points should \
                  be automatically generated.
    Parameter Type = Logical
    Default = On
END
PARAMETER: Maximum Intermediate Points
    Description = The maximum number of intermediate points that will be automatically generated.
    Parameter Type = Integer
    Default = 15
END
PARAMETER: Target Tolerance
    Description = The desired tolerance of the inlet curve to the perfect curve. \
                  It is a number between 0 and 1 and represents a fraction of the \
                  distance from the inlet to the blade.
    Parameter Type = Real
    Default = 0.5
END
PARAMETER: Blade Name
    Description = Name of the blade on which this point lies
    Parameter Type = String
    Remote Type = surfaces
    Local Type = set
END
PARAMETER: Get Visibility From
    Description = The object whose visibility we should follow. We also get Colour \
       from it, which is why it needs local type "colour", and remote type \
       "render" so that it fires when visibility changes on the parent.
    Parameter Type = String
    Remote Type = render
    Local Type = colour
    Default = .
END
PARAMETER: Profile Number
    Description = Number of the blade profile on which this point lies
    Parameter Type = Integer
    Local Type = set
END
PARAMETER: Profile Count
    Description = Number of the blade profiles
    Parameter Type = Integer
END
PARAMETER: Blade Height
    Parameter Type = Real
END

# Initializer parameter is used to point at a surface, in the special case of
# a point that lies ont he Hub or Shroud 360 surface, and controls the position of the segment.
# It will be initialized by the surface it lies on (which will write Requested Position).
# However to be updated it must recalculate whenever that initialization occurs.
# The initialization occurs in the 'initaliser' scheduler of Hub or Shroud. Parameter
# 'Initializer' forces 'set' to fire whenever this is done.
# Initializer should not be set by the user
  OBJECT: GEO POINT
    Category = deletable, constant-colour,  \
        viewer-viewable, kernel-point
    CCLObject Class = GeoPointCCLObject
    Scheduler = set,constraint,transform,calc,top,colour,symbol,render
    Scheduler Links =  set,calc,constraint,calc,calc,top,\
                top, colour, colour, symbol, transform, symbol, symbol, render
    Allowed Option List = Not Periodic,Master,Slave
    Optional Parameter List = Requested Position, Requested ART, AR Location Method, \
                                Symbol Size,Point Symbol,Normalized, \
                                Transparency, Visibility,\
                                Surface Drawing, Draw Faces, Draw Lines, \
                                Line Colour, Line Width, Colour Map,\
                                Lighting,Colour Mode, Colour, Colour Variable Boundary Values, \
                                Specular Lighting, Culling Mode, Initializer, Turbo Transform, \
                                Symbol Control Object, Highlight Type, Opening Extend Link, \
                                Opening Region Visibility Link 
    Internal Parameter List = Actual Position,Actual ART,Object State
    Essential Parameter List = Option
    CONTEXT:Not Periodic
      Optional Parameter List = Constraining Object,Constraining Subobject
    END
    CONTEXT: Master
      Optional Parameter List = Constraining Object,Constraining Subobject,\
         Periodic Point, Low Periodic
    END
    CONTEXT: Slave
      Optional Parameter List =  Periodic Point, Low Periodic
    END
    Allowed Parent List = GEOMETRY,INLET,OUTLET, GEO LINE, OPENING REGION
  END

  PARAMETER: Opening Region Visibility Link
    Parameter Type = string list
    default = #empty 
    Local Type = render
    Remote Type = render
  END

  PARAMETER: Opening Extend Link
    Parameter Type = string
    Default = .
    Local Type = calc
    Remote Type = read data
  END

  OBJECT: PROFILE POINT
    Category = deletable, constant-colour,  \
        viewer-viewable, kernel-point
    CCLObject Class = ProfilePointCCLObject
    Scheduler = set,transform,top,colour,symbol,render
    Scheduler Links =  set,top,top,colour, colour, symbol, transform, symbol, symbol, render
    Optional Parameter List = Requested Position, \
                                Symbol Size,Point Symbol,Normalized, \
                                Transparency, Visibility, \
                                Surface Drawing, Draw Faces, Draw Lines, \
                                Line Colour, Line Width, Colour Map,\
                                Lighting,Colour Mode, Colour, Colour Variable Boundary Values, \
                                Specular Lighting, Culling Mode, Blade Name,\
                                Profile Number, Get Visibility From, Turbo Transform, \
                                Symbol Control Object, Highlight Type
    Internal Parameter List = Actual Position,Object State
    Allowed Parent List = GEOMETRY,HUB,SHROUD, GEO LINE
  END

  OBJECT: GEO LINE
    Category = constant-colour,  \
        selectable, viewer-viewable, kernel-curve
    CCLObject Class = GeoLineCCLObject
    Scheduler = top,transform,draw,colour,render
    Scheduler Links =   top, transform,transform,\
                        draw,draw, colour, colour, render
    Optional Parameter List = Point List, Constraining Object For Line, \
                              Transparency, Visibility, \
                              Surface Drawing, Draw Faces, Draw Lines, \
                              Line Colour, Line Width, Max,Min,Range,\
                              Lighting,Colour Mode, Colour, Colour Variable Boundary Values, \
                              Show Curve, Show Surface,Specular Lighting, Culling Mode, Colour Map,\
                              Instancing Transform, Apply Instancing Transform, Turbo Transform, \
                              Visibility In Transformed Coordinates
    Internal Parameter List = Object State
    Allowed Parent List = GEOMETRY,HUB,SHROUD,BLADE
  END

## MESH ANALYSIS OBJECTS
SINGLETON: MESH ANALYSIS
  Category = selectable
  Internal Parameter List = Object State
  Allowed Parent List = ROOT
END

SINGLETON: MESH STATISTICS
  Category = selectable
  Internal Parameter List = Object State
  Allowed Parent List = MESH ANALYSIS
END

SINGLETON: MESH LIMITS
  Category = selectable
  Allowed Parent List = MESH ANALYSIS
  Internal Parameter List = Object State
END

# Object representing a measure (i.e. variable) of Mesh Analysis.
# These should be named for the measure they represent e.g. "Minimum Face Angle:
# "Connectivity Number etc. Min Result and Max Result are the union of the
# ranges of all the MESH ANALYSIS DOMAIN objects they contain
OBJECT: MESH ANALYSIS MEASURE
  Category = 
  CCLObject Class = MeshMeasureCCLObject
  Scheduler = top
  Optional Parameter List = Variable,Domain List,Local Domain List
  Internal Parameter List = Min Result, Max Result, Object State, Fraction Outside Limit, Number of Nodes
  Allowed Parent List = MESH STATISTICS
END

PARAMETER: Limit Object
    Parameter Type = String
    Local Type = top
    Remote Type = top
    Description = The object specifying the acceptable limits of this mesh measure
END
  
# An object representing a mesh analysis measure (variable) on a particular domain.
# The measure is the name of the MESH ANALYSIS MEASURE that contains them, and they
# should have the same name as the domain they represent.
# Min Result and Max Result should be the range of the variable on this domain.
OBJECT: MESH ANALYSIS DOMAIN
  Category = 
  CCLObject Class = MeshDomainCCLObject
  Scheduler = top
  Essential  Parameter List = Domain List, Limit Object
  Optional Parameter List = Variable
  Internal Parameter List = Min Result, Max Result, Object State, Fraction Outside Limit, Number of Nodes
  Allowed Parent List = MESH ANALYSIS MEASURE
END

# This object represents the acceptable limits of a mesh measure.
# Amy be a minimum, maximum or range value
OBJECT: MESH MEASURE LIMIT
  Category = 
  Scheduler = top
  CCLObject Class = GenericCCLObject
  Essential Parameter List =  Option
  Internal Parameter List =  Object State
  Allowed Option List = Maximum, Minimum, Range
  CONTEXT: Maximum
    Essential Parameter List =  Max Limit
    Optional Parameter List  =  Min Limit
  END
  CONTEXT: Minimum
    Essential Parameter List =  Min Limit
    Optional Parameter List  =  Max Limit
  END
  CONTEXT: Range
    Essential Parameter List =  Max Limit,Min Limit
  END
  Allowed Parent List = MESH LIMITS
END

 OBJECT: DOMAIN
   Category = geometry, has-variable, volume, point
   Scheduler = top, geometry
   Sceduler Links = top, geometry
   CCLObject Class = GeometricCCLObject
# Profile Count has been added as parameter only so a parameter can be set when
# the object is defined so parser thinks something has changed
   Optional Parameter List = Profile Count
#   Optional Parameter List = Transform List, Apply Transforms, Replica List, \
#                             Transform Matrix
   Allowed Parent List = ROOT
   Description = An automatically created object for each domain read from the results file.
 END

PARAMETER: Turbo Transform
  Remote Type = set
  Local Type = transform
  Description = A reference to the object holding the MST Turbo Transform
  Parameter Type = String
  Default = /GEOMETRY/TURBO TRANSFORM
END

PARAMETER: Turbo Transform Top Link
  Remote Type = top
  Local Type = transform top
  Description = A reference to the object holding the MST Turbo Transform
  Parameter Type = String
  Default = /GEOMETRY/TURBO TRANSFORM
END

SINGLETON: TURBO TRANSFORM
  Category =
  CCLObject Class = TurboTransformCCLObject
  Scheduler = top, set
  Scheduler Links = top, set
  Essential Parameter List = Hub Name For Transform,Shroud Name For Transform
  Optional Parameter List = Override Transform Selection, \
                            User Transform Selection, \
                            Automatic Transform Selection
  Internal Parameter List = Break Angle, Object State, Short Transform Available
  Allowed Parent List = GEOMETRY
END

PARAMETER: Override Transform Selection
  Parameter Type = Logical
  Local Type = set
  Default = false
  Description = If true then User Transform Selection is used to choose transform \
                for B2B view, otherwise Automatic Transform Selection is used.
END

PARAMETER: User Transform Selection
  Parameter Type = String
  Allowed String List = Full, Passage, Excluding tip
  Default = Full
  Local Type = set
  Descritpion = Used to control which transform is used to draw in B2B view when \
                user overrides automatic selection.
END

PARAMETER: Automatic Transform Selection
  Parameter Type = String
  Allowed String List = Full, Passage
  Default = Full
  Local Type = set
  Descritpion = Used to control which transform is used to draw in B2B view.
END

PARAMETER: Short Transform Available
  Parameter Type = Logical
  Local Type = set
  Default = false
END

PARAMETER: Tip Clearance
  Parameter Type = Real
  Local Type = surfaces
  Remote Type = expression
  Description = Distance of blade tip from hub or shroud
  Default = 0.0
END

PARAMETER: Tip Clearance At Leading Edge
  Parameter Type = Real
  Local Type = surfaces
  Remote Type = expression
  Description = Distance of blade tip from hub or shroud at leading edge
  Default = 0.0
END

PARAMETER: Tip Clearance At Trailing Edge
  Parameter Type = Real
  Local Type = surfaces
  Remote Type = expression
  Description = Distance of blade tip from hub or shroud at trailing edge
  Default = 0.0
END

PARAMETER: Tip Profile Number
  Parameter Type = Integer
  Local Type = top
  Description = Number of the profile specifying the tip of the blade
END

PARAMETER: Tip Extension Factor
  Parameter Type = Real
  Local Type = top
  Remote Type = expression
  Description = Factor used to extend defined by profile number tips upstream and downstream 
  Default = 0.02
END

SINGLETON: HUB TIP
  Category = selectable, constant-colour, viewer-viewable
  CCLObject Class = KernelCCLObject
  Scheduler = surfaces, top, transform, colour, draw, render
  Scheduler Links = top, surfaces, top,transform,  surfaces,transform,  transform,draw,  draw,colour,  colour,render
  Essential Parameter List = Option
  Allowed Option List = None, Normal Distance, Variable Normal Distance, Constant Span, Profile Number, CAD Tip Profile
  Optional Parameter List = Tip Extension Factor, Use Tessellated Curve, Override Upstream Geometry Options, \
                            Visibility, Show Curve, Show Surface, Turbo Transform, Visibility In Transformed Coordinates, \
                            Colour Mode, Draw Lines, Colour, Line Colour, Line Width, \
                            Colour Variable, Range, Min, Max, Instancing Transform, \ 
                            Draw Faces, Surface Drawing, Lighting, Transparency, Specular Lighting, \
                            Culling Mode, Apply Instancing Transform, Render Edge Angle, Colour Map, \
                            Blade Tip Link, Blade Set Generate Link
  Internal Parameter List = Object State
  Allowed Parent List = BLADE SET
  CONTEXT: Normal Distance
    Essential Parameter List = Tip Clearance
  END
  CONTEXT: Variable Normal Distance
    Essential Parameter List = Tip Clearance At Leading Edge, Tip Clearance At Trailing Edge 
  END
  CONTEXT: Constant Span
    Essential Parameter List = Span Location
  END
  CONTEXT: Profile Number
    Essential Parameter List = Tip Profile Number
  END
  CONTEXT: CAD Tip Profile
    Essential Parameter List = CAD CTI Link
  END
  PARAMETER: Option
    Default = None
  END 
  PARAMETER: Span Location
    Default = 0.05
  END
  PARAMETER: Tip Profile Number
    Default = 2
  END
  PARAMETER: CAD CTI Link
    Default = 
    Remote Type = top
    Local Type = surfaces
  END 
  PARAMETER: Blade Tip Link
    Parameter Type = String List
    Default = .
    Remote Type = tip
    Local Type = transform
  END 
  PARAMETER: Blade Set Generate Link
    Default = /GEOMETRY/BLADE SET
    Remote Type = generate
    Local Type = surfaces
  END   
END

SINGLETON: SHROUD TIP
  Category = selectable, constant-colour, viewer-viewable
  CCLObject Class = KernelCCLObject
  Scheduler = surfaces, top, transform, colour, draw, render
  Scheduler Links = top, surfaces, top,transform,  transform,draw,  draw,colour,  colour,render
  Essential Parameter List = Option
  Allowed Option List = None, Normal Distance, Variable Normal Distance, Constant Span, Profile Number, CAD Tip Profile
  Optional Parameter List = Tip Extension Factor, Use Tessellated Curve, Override Upstream Geometry Options, \
                            Visibility, Show Curve, Show Surface, Turbo Transform, Visibility In Transformed Coordinates, \
                            Colour Mode, Draw Lines, Colour, Line Colour, Line Width, \
                            Colour Variable, Range, Min, Max, Instancing Transform, \ 
                            Draw Faces, Surface Drawing, Lighting, Transparency, Specular Lighting, \
                            Culling Mode, Apply Instancing Transform, Render Edge Angle, Colour Map, \
                            Blade Tip Link, Blade Set Generate Link 
  Internal Parameter List = Object State
  Allowed Parent List = BLADE SET
  CONTEXT: Normal Distance
    Essential Parameter List = Tip Clearance
  END
  CONTEXT: Variable Normal Distance
    Essential Parameter List = Tip Clearance At Leading Edge, Tip Clearance At Trailing Edge 
  END
  CONTEXT: Constant Span
    Essential Parameter List = Span Location
  END
  CONTEXT: Profile Number
    Essential Parameter List = Tip Profile Number
  END
  CONTEXT: CAD Tip Profile
    Essential Parameter List = CAD CTI Link
  END
  PARAMETER: Option
    Default = None
  END 
  PARAMETER: Span Location
    Default = 0.95
  END
  PARAMETER: Tip Profile Number
    Default = -1
  END
  PARAMETER: CAD CTI Link
    Default = 
    Remote Type = top
    Local Type = surfaces
  END 
  PARAMETER: Blade Tip Link
    Parameter Type = String List
    Default = .
    Remote Type = tip
    Local Type = transform
  END 
  PARAMETER: Blade Set Generate Link
    Default = /GEOMETRY/BLADE SET
    Remote Type = generate
    Local Type = top
  END 
END

PARAMETER: Use Tessellated Curve
  Parameter Type = Logical
  Default = true
  Local Type = surfaces
  Description = Increases curve tesselation used for computing normal distance tips.
END

SINGLETON:OUTLINE
  CCLObject Class = OutlineCCLObject
  Category = constant-colour, \
  selectable, viewer-viewable
  Scheduler = top, draw, transform, colour, render
  Scheduler Links =  top, transform, transform, draw,draw,colour, colour, render
  Internal Parameter List = Minimum Bounding Box, Maximum Bounding Box
  Optional Parameter List =   \
        Hub Link For Outline, \
        Shroud Link For Outline, \
        High Periodic Link For Outline,\
        Low Periodic Link For Outline,\
        Transparency, Visibility, \
        Surface Drawing, Draw Faces, Draw Lines, \
        Line Colour, Line Width,Max,Min,Range, \
        Lighting,Colour Mode, Colour, Colour Map,\
        Instancing Transform, Apply Instancing Transform, \
        Specular Lighting, Culling Mode, Colour Variable Boundary Values, \
        Show Curve, Show Surface, \
        Turbo Transform
  Internal Parameter List = Object State, Minimum Bounding Box, Maximum Bounding Box
  Allowed Parent List = GEOMETRY
END

PARAMETER:Hub Link For Outline
  Parameter Type = String
  Description = Hub object in the domain
  Remote Type = trimmed
  Local Type = top
END

PARAMETER:Shroud Link For Outline
  Parameter Type = String
  Description = Shroud object in the domain
  Remote Type = trimmed
  Local Type = top
END

PARAMETER:High Periodic Link For Outline
  Parameter Type = String
  Description = High periodic object in the domain
  Remote Type = trimmed
  Local Type = top
END

PARAMETER:Low Periodic Link For Outline
  Parameter Type = String
  Description = Low periodic object in the domain
  Remote Type = trimmed
  Local Type = top
END

PARAMETER:Visibility In Transformed Coordinates
  Parameter Type =
    Description = True if this object is to be displayed in the transformed coordinates
    Parameter Type = Logical
    Default = On
    Local Type = draw
END

PARAMETER:Minimum Bounding Box
  Parameter Type = Real List
  Description = Minimum X, Y, Z of bounding box
END

PARAMETER:Maximum Bounding Box
  Parameter Type = Real List
  Description = Maximum X, Y, Z of bounding box
END


SINGLETON: FILE PROCESSING
  Category = 
  Essential Parameter List = Path Stack, Processing Mode
  Allowed Parent List = ROOT
  Description = Stores parameters indicating the state of processing state or session files.
END

PARAMETER: Path Stack
  Parameter Type = String List
  Description = Stack of paths to look in for files
END

PARAMETER: Processing Mode
  Allowed String List = None, Session, State, ReadCFG
  Parameter Type = String
  Default = None
  Description = Indicates the type of file currently being processed.
END

PARAMETER: Local Template Directory
  Parameter Type = String
  Default = 
  Description = Set when running under WB as location to look for local topology templates.
END

SINGLETON: COMMAND FILE
  Optional Parameter List = TurboGrid Version
  Internal Parameter List = Beta Options Enabled
  Allowed Parent List = ROOT
END

PARAMETER: Beta Options Enabled
  Parameter Type = Integer
  Default = 0
END

PARAMETER: TurboGrid Version
  Parameter Type = float
  Description = TurboGrid version identifier as used in session and state files.
END 
# Used for trimming hub/shroud


PARAMETER: Toggle Trim
    Description = Boolean for trimming Inlet
    Parameter Type = Logical
    Default = Off
    Local Type = trimopening
END

PARAMETER: Trim Hub Position
    Description = Absolute coordinate for trim
    Parameter Type = Real List
    Default = 
    Local Type = trimopening
END

PARAMETER: Trim Shroud Position
    Description = Absolute coordinate for trim
    Parameter Type = Real List
    Default = 
    Local Type = trimopening
END

PARAMETER: Trim AR Location Method
    Description = Location dimension (A or R) for Inlet
    Parameter Type = String
    Allowed String List = Set A, Set R, AR Intersection
    Default = Set A
    Local Type = trimopening
END

PARAMETER: Trim Intersection Point 1
    Description = Absolute coordinates for trim
    Parameter Type = Real List
    Default = 
    Local Type = trimopening
END

PARAMETER: Trim Intersection Point 2
    Description = Absolute coordinates for trim
    Parameter Type = Real List
    Default = 
    Local Type = trimopening
END

#
# TRANSFORMATIONS
#
OBJECT: SIMPLE TRANSFORM
  CCLObject Class = GenericCCLObject
  Scheduler = axis, top
  Scheduler Links = axis,top
  Allowed Parent List = COMBINED TRANSFORM
  Allowed Option List = Rotation, Translation, Scale, Reflection
  Essential Parameter List = Option
  Description = This object contains user info necessary to generate \
                 a mesh transformation. Passed from GUI, combined with \
                 Absolute in MeshCalcFunc.
  CONTEXT: Reflection
    Essential Parameter List = Reflection Option
    Optional Parameter List = Point, Normal, Point 1, Point 2, Point 3
  END

  CONTEXT: Translation
    Essential Parameter List = Translation Option
    Optional Parameter List = Translation Vector, Translation Distance, Machine Data
  END

  CONTEXT: Scale
    Essential Parameter List = Scale Option
    Optional Parameter List = Scale Origin, Uniform Scale, Nonuniform Scale
  END

  CONTEXT: Rotation
    Essential Parameter List = Rotation Option
    Optional Parameter List = Principal Axis, Rotation Axis From, Rotation Axis To, \
                                Rotation Angle, Machine Data
  END
END

  PARAMETER: Translation Option
    Allowed String List = Machine Axis, X Axis, Y Axis, Z Axis, Vector
    Default = Machine Axis
    Parameter Type = String
    Local Type = top
    Description = Specifies what type of translation is applied
  END
  PARAMETER: Rotation Option
    Allowed String List = X Axis, Y Axis, Z Axis, Machine Axis, General Axis
    Default = Machine Axis
    Parameter Type = String
    Local Type = top
    Description = Specifies what type of rotation is applied
  END
  PARAMETER: Scale Option
    Allowed String List = Uniform, Non Uniform
    Default = Uniform
    Parameter Type = String
    Local Type = top
    Description = Specifies what type of scaling is applied
  END
  PARAMETER: Reflection Option
    Allowed String List = YZ Plane, XZ Plane, XY Plane, Point and Normal, \
                          Three Points
    Default = XY Plane
    Parameter Type = String
    Local Type = top
    Description = Specifies how the reflection plane is defined
  END

  PARAMETER: Uniform Scale
    Parameter Type = Real
    Local Type = top
    Remote Type = expression
    Default = 1.0
    Description = Scale factor for scaling transform
  END

  PARAMETER: Nonuniform Scale
    Parameter Type = Real List
    Local Type = top
    Default = 1.0
    Description = Scale factor for scaling transform
  END

  PARAMETER: Scale Origin
    Parameter Type = Real List
    Local Type = top
    Default = 0.0,0.0,0.0
    Description = Point about which to scale the object
  END

  PARAMETER: Translation Distance
    Parameter Type = Real
    Local Type = top
    Remote Type = expression
    Default = 0.0
    Description = Distance of translation
  END

OBJECT: COMBINED TRANSFORM
  CCLObject Class = AffineTransformCCLObject
  Scheduler = transform
  Optional Parameter List = Simple Transform List
  Allowed Parent List = HUB, SHROUD, BLADE
END
  PARAMETER: Simple Transform List
    Parameter Type = String List
    Local Type = transform
    Remote Type = top
    Description = List of transforms that make up the combined transform
  END

  PARAMETER: Affine Transform
    Parameter Type = String
    Local Type = top
    Remote Type = transform
    Description = List of transforms that make up the combined transform
  END

## Rules for parameterization

SINGLETON: PARAMETERIZATION
  Category = deletable
  Allowed Parent List = ROOT
  Optional Child List = INPUT FIELD, RESPONSE FIELD
END

OBJECT: INPUT FIELD
  CCLObject Class = ParameterizationCCLObject
  Scheduler = top
  Essential Parameter List = Method
  Optional Parameter List = WB Parameter Value, WB Parameter Variable Type
  Context Rule = Method
  Allowed Option List = Expression, Parameter
  CONTEXT: Expression
    Essential Parameter List = Expression Name
  END
  CONTEXT: Parameter
    Essential Parameter List = Parameter Path
  END
  Allowed Parent List = PARAMETERIZATION
END

OBJECT: RESPONSE FIELD
  CCLObject Class = ParameterizationCCLObject
  Scheduler = top
  Essential Parameter List = Method
  Context Rule = Method
  Allowed Option List = Expression
  CONTEXT: Expression
    Essential Parameter List = Expression Name
  END
  Allowed Parent List = PARAMETERIZATION
END

PARAMETER: WB Parameter Value
  Parameter Type = String
END

PARAMETER: Method
  Solver Name = NULL
  Parameter Type = String
  Local Type = top
END

PARAMETER: Expression Name
  Solver Name = NULL
  Parameter Type = String
  Local Type = top
  Remote Type = expression
END

PARAMETER: Parameter Path
  Solver Name = NULL
  Parameter Type = String List
  Local Type = top
END

PARAMETER: WB Parameter Variable Type
  Parameter Type = String
  Allowed String List = FloatVar, IntegerVar
  Default = FloatVar
END

#######################################################################
#
# ATM topology chooser objects and parameters
#

OBJECT: ATM TOPOLOGY PIECE SELECTOR
  CCLObject Class = TCPieceSelectorCCLObject
  Category = deletable
  Essential Parameter List = Topology Piece Options, \
                             Angle Ranges, \
                             Blade End
  Allowed Parent List = TOPOLOGY CHOOSER
END

OBJECT: ATM TOPOLOGY CHOICE
  CCLObject Class = TopologyChoiceCCLObject
  Category = deletable
  Essential Parameter List = Topology List, \
                             Blade Count, \
                             Leading Edge Shape, \
                             Trailing Edge Shape
  Optional Parameter List = Topology Description, \
                            Topology Image, \
                            Machine Type List, \
                            Exclude Machine Type List, \
                            Leading Edge Angle Range, \
                            Trailing Edge Angle Range, \
                            Primary Topology Choice, \
                            Beta Feature Topology
  Allowed Parent List = TOPOLOGY CHOOSER
END

PARAMETER: Topology Piece Options
  Parameter Type = String List
END

PARAMETER: Angle Ranges
  Parameter Type = Real List
END

PARAMETER: Topology List
  Parameter Type = String List
END

PARAMETER: Blade Count
  Parameter Type = Integer
END

PARAMETER: Leading Edge Shape
  Parameter Type = String
  Allowed String List = Rounded, Cutoff
END

PARAMETER: Trailing Edge Shape
  Parameter Type = String
  Allowed String List = Rounded, Cutoff
END

PARAMETER: Topology Description
  Parameter Type = String
END

PARAMETER: Topology Image
  Parameter Type = String
END

PARAMETER: Machine Type List
  Parameter Type = String List
END

PARAMETER: Exclude Machine Type List
  Parameter Type = String List
END

PARAMETER: Leading Edge Angle Range
  Parameter Type = Real List
END

PARAMETER: Trailing Edge Angle Range
  Parameter Type = Real List
END

PARAMETER: Primary Topology Choice
  Parameter Type = Logical
  Default = false
END

PARAMETER: Beta Feature Topology
  Parameter Type = Logical
  Default = false
END

#######################################################################
#
# ATM Geometry attribute objects and parameters
#

OBJECT: ATM GA POINT
  CCLObject Class = GAPointCCLObject
  Category = geometry attribute, deletable
  Scheduler = generate
  Essential Parameter List = Point Type, \
                             Create Pitch Offset Geometry, \
                             Create Alternate Geometry, \
                             Compute Reference Theta, \
                             Blade Number
  Optional Parameter List = Reference Theta Source, Geometry Object, Geometry Key, \
                            Set Theta To Reference Theta, Associated Topology Name
  Allowed Parent List = GEOMETRY ATTRIBUTES

  PARAMETER: Blade Number
    Local Type =
  END
END

OBJECT: ATM GA POINT ON CURVE
  CCLObject Class = GAPointOnCurveCCLObject
  Category = geometry attribute, deletable
  Scheduler = generate
  Essential Parameter List = Location Method, \
                             Curve Object, \
                             Use Pitch Offset Curve
  Optional Parameter List = Parametric Location, \
                            Associated Topology Name
  Allowed Parent List = GEOMETRY ATTRIBUTES
END

OBJECT: ATM GA PROJECTED POINT
  CCLObject Class = GAProjectedPointCCLObject
  Category = geometry attribute, deletable
  Scheduler = generate
  Essential Parameter List = Working Space, \
                             Source Point, \
                             Projection Object, \
                             Use Pitch Offset Projection Object, \
                             Use Pitch Offset Source Point, \
                             Create Pitch Offset Geometry, \
                             Create Alternate Geometry
  Optional Parameter List = Reprojection Object, \
                            Use Pitch Offset Reprojection Object, \
                            Reprojection Iteration Count, \
                            Associated Topology Name
  Allowed Parent List = GEOMETRY ATTRIBUTES
END

OBJECT: ATM GA TRANSLATED POINT
  CCLObject Class = GATranslatedPointCCLObject
  Category = geometry attribute, deletable
  Scheduler = generate
  Essential Parameter List = Source Point, \
                             Pitch Multiple, \
                             Create Alternate Geometry
  Optional Parameter List = Associated Topology Name
  Allowed Parent List = GEOMETRY ATTRIBUTES
END

OBJECT: ATM GA TRANSLATED CURVE
  CCLObject Class = GATranslatedCurveCCLObject
  Category = geometry attribute, deletable
  Scheduler = generate
  Essential Parameter List = Geometry Source, \
                             Pitch Multiple, \
                             Create Alternate Geometry
  Optional Parameter List = Associated Topology Name
  Allowed Parent List = GEOMETRY ATTRIBUTES
END

OBJECT: ATM GA CURVE
  CCLObject Class = GACurveCCLObject
  Category = geometry attribute, deletable
  Scheduler = generate
  Essential Parameter List = Curve Type, \
                             Create Pitch Offset Geometry, \
                             Create Alternate Geometry
  Optional Parameter List = Reference Theta Source, \
                            Theta Position, \
                            Geometry Object, \
                            Geometry Key, \
                            Source Point, \
                            Intersect Mode, \
                            Associated Topology Name
  Allowed Parent List = GEOMETRY ATTRIBUTES
END

OBJECT: ATM GA CURVE FROM POINTS
  CCLObject Class = GACurveFromPointsCCLObject
  Category = geometry attribute, deletable
  Scheduler = generate
  Essential Parameter List = Point List, \
                             Create Pitch Offset Geometry, \
                             Create Alternate Geometry
  Optional Parameter List = Associated Topology Name
  Allowed Parent List = GEOMETRY ATTRIBUTES

  PARAMETER: Point List
    Local Type = generate
    Remote Type = generate
  END
END

OBJECT: ATM GA BLADE CURVES
  CCLObject Class = GABladeCurvesCCLObject
  Category = geometry attribute, deletable
  Scheduler = generate
  Essential Parameter List = Create Pitch Offset Geometry, \
                             Create Alternate Geometry, \
                             Reference Theta Source, \
                             Blade Number, Blade Label
  Optional Parameter List = Associated Topology Name
  Allowed Parent List = GEOMETRY ATTRIBUTES

  PARAMETER: Blade Number
    Local Type =
  END
END

OBJECT: ATM GA PASSAGE PARAMETERIZATION
  CCLObject Class = GAPassageParameterizationCCLObject
  Category = geometry attribute, deletable
  Scheduler = generate
  Essential Parameter List = N Curve, \
                             Use Pitch Offset N Curve, \
                             S Curve, \
                             Use Pitch Offset S Curve, \
                             E Curve, \
                             Use Pitch Offset E Curve, \
                             W Curve, \
                             Use Pitch Offset W Curve, \
                             NE Point, \
                             Use Pitch Offset NE Point, \
                             NW Point, \
                             Use Pitch Offset NW Point, \
                             SE Point, \
                             Use Pitch Offset SE Point, \
                             SW Point, \
                             Use Pitch Offset SW Point, \
                             Number Of Iterations
  Optional Parameter List = Associated Topology Name, Debug Geometry Attribute
  Allowed Parent List = GEOMETRY ATTRIBUTES
END

OBJECT: ATM GA PASSAGE CURVE
  CCLObject Class = GAPassageCurveCCLObject
  Category = geometry attribute, deletable
  Scheduler = generate
  Essential Parameter List = Passage Curve Type, \
                             Passage Parameterization Source
  Optional Parameter List = Associated Topology Name, \
                            Source Point, \
                            Use Pitch Offset Source Point, \
                            Parameterization Index, \
                            Passage Curve Direction, \
                            Pinning Line Model, \
                            Parameterization Value Source
  Allowed Parent List = GEOMETRY ATTRIBUTES
END

OBJECT: ATM GA SPLITTER END PROXIMITY GEOMETRY
  CCLObject Class = GASplitterEndProximityGeometryCCLObject
  Category = geometry attribute, deletable
  Scheduler = generate
  Essential Parameter List = Blade End, \
                             Source Point, \
                             Passage Parameterization Source, \
                             High Blade Curve, \
                             Low Blade Curve, \
                             Main Passage Curve, \
                             Splitter Low Passage Curve, \
                             Splitter High Passage Curve
  Optional Parameter List = Associated Topology Name, \
                            Use Pitch Offset Source Point, \
                            Use Pitch Offset High Blade Curve, \
                            Use Pitch Offset Low Blade Curve
  Allowed Parent List = GEOMETRY ATTRIBUTES
END

OBJECT: ATM GA MAIN BLADE PROXIMITY GEOMETRY
  CCLObject Class = GAMainBladeProximityGeometryCCLObject
  Category = geometry attribute, deletable
  Scheduler = generate
  Essential Parameter List = Blade End, \
                             Source Point, \
                             Passage Parameterization Source, \
                             High Blade Curve, \
                             Low Blade Curve, \
                             Main Passage Curve, \
                             Circle Curve, \
                             Distance To Opening Source
  Optional Parameter List = Associated Topology Name
  Allowed Parent List = GEOMETRY ATTRIBUTES
END

OBJECT: ATM GA ROUNDED BLADE CIRCLE GEOMETRY
  CCLObject Class = GARoundedBladeCircleGeometryCCLObject
  Category = geometry attribute, deletable
  Scheduler = generate
  Essential Parameter List = Blade End, \
                             Source Point, \
                             Passage Parameterization Source, \
                             High Blade Curve, \
                             Low Blade Curve, \
                             Main Passage Curve, \
                             Circle Curve, \
                             Distance To Opening Source, \
                             Edge Count To Opening, \
                             Edge Count Across Passage
  Optional Parameter List = Associated Topology Name
  Allowed Parent List = GEOMETRY ATTRIBUTES
END

OBJECT: ATM GA DOUBLE HERRINGBONE PROXIMITY GEOMETRY
  CCLObject Class = GADoubleHerringboneProximityGeometryCCLObject
  Category = geometry attribute, deletable
  Scheduler = generate
  Essential Parameter List = Blade End, \
                             Passage Parameterization Source, \
                             High Curve, \
                             Low Curve, \
                             Main Passage Curve
  Optional Parameter List = Associated Topology Name
  Allowed Parent List = GEOMETRY ATTRIBUTES
  PARAMETER: Main Passage Curve
    Local Type = generate
    Remote Type = generate
  END
END

OBJECT: ATM GA SINGLE HERRINGBONE PROXIMITY GEOMETRY
  CCLObject Class = GASingleHerringboneProximityGeometryCCLObject
  Category = geometry attribute, deletable
  Scheduler = generate
  Essential Parameter List = Blade End, \
                             Passage Parameterization Source, \
                             High Curve, \
                             Low Curve, \
                             Main Passage Curve
  Optional Parameter List = Associated Topology Name
  Allowed Parent List = GEOMETRY ATTRIBUTES
  PARAMETER: Main Passage Curve
    Local Type = generate
    Remote Type = generate
  END
END

OBJECT: ATM GA PARAMETERIZATION VALUE
  CCLObject Class = GAParameterizationValueCCLObject
  Category = geometry attribute, deletable
  Scheduler = generate
  Essential Parameter List = Parameterization Value Type
  Optional Parameter List = Associated Topology Name, \
                            Proximity Value Source, \
                            Parameterization Value
  Allowed Parent List = GEOMETRY ATTRIBUTES
END

OBJECT: ATM GA CIRCLE
  CCLObject Class = GACircleCCLObject
  Category = geometry attribute, deletable
  Scheduler = generate
  Essential Parameter List = Source Point, \
                             Use Pitch Offset Source Point, \
                             Radius Source, Radius Factor, \
                             Create Alternate Geometry, Create Pitch Offset Geometry
  Optional Parameter List = Associated Topology Name
  Allowed Parent List = GEOMETRY ATTRIBUTES
END

OBJECT: ATM GA DISTANCE
  CCLObject Class = GADistanceCCLObject
  Category = geometry attribute, deletable
  Scheduler = generate
  Essential Parameter List = Source Point, \
                             Use Pitch Offset Source Point, \
                             Second Source Point, \
                             Use Pitch Offset Second Source Point, \
                             Working Space
  Optional Parameter List = Associated Topology Name
  Allowed Parent List = GEOMETRY ATTRIBUTES
END

OBJECT: GA GEOMETRY EXPOSER
  CCLObject Class = GAExposerCCLObject
  Category = geometry attribute, deletable
  Scheduler = generate
  Essential Parameter List = Geometry Source, \
                             Geometry Reference Name
  Optional Parameter List = Associated Topology Name
  Allowed Parent List = GEOMETRY ATTRIBUTES
END

PARAMETER: Point Type
  Parameter Type = String
  Allowed String List = LE, LE2, LEFocal, TE, TE2, TEFocal, Object and Curve Key
END

PARAMETER: Passage Curve Type
  Parameter Type = String
  Allowed String List = Constant I, Constant J, \
                        Constant U, Constant V, \
                        Constant I From Point, \
                        Constant J From Point, \
                        Constant U From Point, \
                        Constant V From Point, \
                        LE Pinning Line, \
                        TE Pinning Line
END

PARAMETER: Passage Curve Direction
  Parameter Type = String
  Allowed String List = Beginning, End, Both
END

PARAMETER: Location Method
  Parameter Type = String
  Allowed String List = Beginning, End, Parametric Location
END

PARAMETER: Pinning Line Model
  Parameter Type = String
  Allowed String List = Rounded, Cutoff, Index
END

PARAMETER: Working Space
  Parameter Type = String
  Allowed String List = Transformed, Cartesian
END

PARAMETER: Curve Type
  Parameter Type = String
  Allowed String List = Intersection, Rotation
END

PARAMETER: Parameterization Value Type
  Parameter Type = String
  Allowed String List = Specified, Upstream Proximity, Downstream Proximity
END

PARAMETER: Blade End
  Parameter Type = String
  Allowed String List = LE, TE, LETE  # LETE option should only be used for ATM TOPOLOGY PIECE SELECTOR objects
END

PARAMETER: Create Pitch Offset Geometry
  Parameter Type = Logical
END

PARAMETER: Use Pitch Offset Source Point
  Parameter Type = Logical
END

PARAMETER: Use Pitch Offset Second Source Point
  Parameter Type = Logical
END

PARAMETER: Use Pitch Offset Projection Object
  Parameter Type = Logical
END

PARAMETER: Use Pitch Offset Reprojection Object
  Parameter Type = Logical
END

PARAMETER: Use Pitch Offset Curve
  Parameter Type = Logical
END

PARAMETER: Use Pitch Offset N Curve
  Parameter Type = Logical
END

PARAMETER: Use Pitch Offset S Curve
  Parameter Type = Logical
END

PARAMETER: Use Pitch Offset E Curve
  Parameter Type = Logical
END

PARAMETER: Use Pitch Offset W Curve
  Parameter Type = Logical
END

PARAMETER: Use Pitch Offset High Blade Curve
  Parameter Type = Logical
END

PARAMETER: Use Pitch Offset Low Blade Curve
  Parameter Type = Logical
END

PARAMETER: Use Pitch Offset NE Point
  Parameter Type = Logical
END

PARAMETER: Use Pitch Offset NW Point
  Parameter Type = Logical
END

PARAMETER: Use Pitch Offset SE Point
  Parameter Type = Logical
END

PARAMETER: Use Pitch Offset SW Point
  Parameter Type = Logical
END

PARAMETER: Create Alternate Geometry
  Parameter Type = Logical
END

PARAMETER: Compute Reference Theta
  Parameter Type = Logical
END

PARAMETER: Set Theta To Reference Theta
  Parameter Type = Logical
END

PARAMETER: Debug Geometry Attribute
  Parameter Type = Logical
END

PARAMETER: Blade Label
  Parameter Type = String
END

PARAMETER: High Curve
  Parameter Type = String
END

PARAMETER: Low Curve
  Parameter Type = String
END

PARAMETER: Geometry Reference Name
  Parameter Type = String
END

PARAMETER: Reference Theta Source
  Parameter Type = String
  Local Type = generate
  Remote Type = generate
END

PARAMETER: Source Point
  Parameter Type = String
  Local Type = generate
  Remote Type = generate
END

PARAMETER: Second Source Point
  Parameter Type = String
  Local Type = generate
  Remote Type = generate
END

PARAMETER: Projection Object
  Parameter Type = String
  Local Type = generate
  Remote Type = generate
END

PARAMETER: Reprojection Object
  Parameter Type = String
  Local Type = generate
  Remote Type = generate
END

PARAMETER: Curve Object
  Parameter Type = String
  Local Type = generate
  Remote Type = generate
END

PARAMETER: Geometry Source
  Parameter Type = String
  Local Type = generate
  Remote Type = generate
END

PARAMETER: N Curve
  Parameter Type = String
  Local Type = generate
  Remote Type = generate
END

PARAMETER: S Curve
  Parameter Type = String
  Local Type = generate
  Remote Type = generate
END

PARAMETER: E Curve
  Parameter Type = String
  Local Type = generate
  Remote Type = generate
END

PARAMETER: W Curve
  Parameter Type = String
  Local Type = generate
  Remote Type = generate
END

PARAMETER: High Blade Curve
  Parameter Type = String
  Local Type = generate
  Remote Type = generate
END

PARAMETER: Low Blade Curve
  Parameter Type = String
  Local Type = generate
  Remote Type = generate
END

PARAMETER: NE Point
  Parameter Type = String
  Local Type = generate
  Remote Type = generate
END

PARAMETER: NW Point
  Parameter Type = String
  Local Type = generate
  Remote Type = generate
END

PARAMETER: SE Point
  Parameter Type = String
  Local Type = generate
  Remote Type = generate
END

PARAMETER: SW Point
  Parameter Type = String
  Local Type = generate
  Remote Type = generate
END

PARAMETER: Radius Source
  Parameter Type = String
  Local Type = generate
  Remote Type = generate
END

PARAMETER: Passage Parameterization Source
  Parameter Type = String
  Local Type = generate
  Remote Type = generate
END

PARAMETER: Distance To Opening Source
  Parameter Type = String
  Local Type = generate
  Remote Type = generate
END

PARAMETER: Main Passage Curve
  Parameter Type = String
END

PARAMETER: Splitter Low Passage Curve
  Parameter Type = String
END

PARAMETER: Splitter High Passage Curve
  Parameter Type = String
END

PARAMETER: Circle Curve
  Parameter Type = String
END

PARAMETER: Parameterization Value Source
  Parameter Type = String
  Local Type = generate
  Remote Type = generate
END

PARAMETER: Proximity Value Source
  Parameter Type = String
  Local Type = generate
  Remote Type = generate
END

PARAMETER: Theta Position
  Parameter Type = String
  Allowed String List = Curve Start, Curve End, Curve Middle, Project Point
END

PARAMETER: Intersect Mode
  Parameter Type = String
  Allowed String List = Coarse, Fine
END

PARAMETER: Geometry Object
  Parameter Type = String
END

PARAMETER: Associated Topology Name
  Parameter Type = String
END

PARAMETER: Geometry Key
  Parameter Type = String
END

PARAMETER: Reprojection Iteration Count
  Parameter Type = Integer
END

PARAMETER: Number Of Iterations
  Parameter Type = Integer
END

PARAMETER: Parameterization Index
  Parameter Type = Integer
END

PARAMETER: Pitch Multiple
  Parameter Type = Integer
END

PARAMETER: Edge Count To Opening
  Parameter Type = Real
END

PARAMETER: Edge Count Across Passage
  Parameter Type = Real
END

PARAMETER: Radius Factor
  Parameter Type = Real
  Default = 1.0
END

PARAMETER: Parameterization Value
  Parameter Type = Real
  Default = 0.0
END

PARAMETER: Parametric Location
  Parameter Type = Real
  Default = 0.0
END

### end of rules to allow the inclusion of the VARIABLES file
END

#
# end of rules
