#Inventor V2.1 ascii

# Standard common material definitions.
DEF JACK_INACTIVE_MATERIAL Material { diffuseColor 0.5 0.5 0.5  emissiveColor 0.5 0.5 0.5 }
DEF JACK_ACTIVE_MATERIAL Material { diffuseColor 0.5 0.5 0  emissiveColor 0.5 0.5 0 }
DEF JACK_FEEDBACK_MATERIAL Material { diffuseColor 0.5 0 0.5  emissiveColor 0.5 0 0.5 }
DEF JACK_GREENISH_MATERIAL Material { diffuseColor 0 0.3 0.2  emissiveColor 0 0.3 0.2  transparency 0.5 }


### Geometry definitions for the various translation geometry ################

DEF JACK_TRANSLATOR_AXIS Cube { width 2.2  height 0.1  depth 0.1 }

DEF jackTranslatorLineTranslator Separator {
   USE JACK_INACTIVE_MATERIAL
   USE JACK_TRANSLATOR_AXIS
}

DEF jackTranslatorLineTranslatorActive Separator {
   USE JACK_ACTIVE_MATERIAL
   USE JACK_TRANSLATOR_AXIS
}

DEF JACK_FEEDBACK_AXIS Group {
   Coordinate3 { point [ 0 3 0, 0 -3 0 ] }
   IndexedLineSet { coordIndex [ 0, 1, -1 ] }
   Translation { translation 0 3 0 }
   Cone { height 0.2 bottomRadius 0.1 }
   Translation { translation 0 -6 0 }
   Rotation { rotation 0 0 1  3.14 }
   Cone { height 0.2 bottomRadius 0.1 }
}

DEF jackTranslatorXFeedback Separator {
   USE JACK_FEEDBACK_MATERIAL
   Rotation { rotation 0 0 1  1.57 }
   USE JACK_FEEDBACK_AXIS
}

DEF jackTranslatorYFeedback Separator {
   USE JACK_FEEDBACK_MATERIAL
   USE JACK_FEEDBACK_AXIS
}

DEF jackTranslatorZFeedback Separator {
   USE JACK_FEEDBACK_MATERIAL
   Rotation { rotation 1 0 0  1.57 }
   USE JACK_FEEDBACK_AXIS
}

DEF JACK_TRANSLATOR_PLANE Group {
   DrawStyle { style LINES  lineWidth 1 }
   Cube { depth 0.2 }
}

DEF jackTranslatorPlaneTranslator Separator {
   USE JACK_INACTIVE_MATERIAL
   USE JACK_TRANSLATOR_PLANE
}

DEF jackTranslatorPlaneTranslatorActive Separator {
   USE JACK_ACTIVE_MATERIAL
   USE JACK_TRANSLATOR_PLANE
}

DEF JACK_FEEDBACK_PLANE Group {
   Coordinate3 { point [ -3 0 -3, 3 0 -3 , 3 0 3, -3 0 3 ] }
   IndexedFaceSet { coordIndex [ 0, 1, 2, 3, -1 ] }
}

DEF jackTranslatorYZFeedback Separator {
   USE JACK_GREENISH_MATERIAL
   Rotation { rotation 0 0 1  1.57 }
   USE JACK_FEEDBACK_PLANE
}

DEF jackTranslatorXZFeedback Separator {
   USE JACK_GREENISH_MATERIAL
   USE JACK_FEEDBACK_PLANE
}

DEF jackTranslatorXYFeedback Separator {
   USE JACK_GREENISH_MATERIAL
   Rotation { rotation 1 0 0  1.57 }
   USE JACK_FEEDBACK_PLANE
}


### Geometry definitions for the rotation geometry controls ##################

DEF JACK_ROTATE_AXES Group {
   DrawStyle { lineWidth 2 }
   Coordinate3 { point [ 1.5 0 0, -1.5 0 0, 0 1.5 0, 0 -1.5 0, 0 0 1.5, 0 0 -1.5 ] }
   IndexedLineSet { coordIndex [ 0, 1, -1, 2, 3, -1, 4, 5, -1 ] }
}

DEF jackRotatorRotator Separator {
   USE JACK_INACTIVE_MATERIAL
   USE JACK_ROTATE_AXES
}
DEF jackRotatorRotatorActive Separator {
   USE JACK_ACTIVE_MATERIAL
   USE JACK_ROTATE_AXES
}

DEF jackRotatorFeedback Separator { }
DEF jackRotatorFeedbackActive Separator { }


### Geometry definitions for the scaling geometry controls ###################

DEF JACK_SCALER Group {
   Translation { translation -1.5 0 0 }
   DEF JACK_SCALE_MARKER Cube { width 0.1  height 0.1  depth 0.1 }
   Translation { translation 3 0 0 }
   USE JACK_SCALE_MARKER
   Translation { translation -1.5 -1.5 0 }
   USE JACK_SCALE_MARKER
   Translation { translation 0 3 0 }
   USE JACK_SCALE_MARKER
   Translation { translation 0 -1.5 -1.5 }
   USE JACK_SCALE_MARKER
   Translation { translation 0 0 3 }
   USE JACK_SCALE_MARKER
}

DEF jackScalerScaler Separator {
   USE JACK_INACTIVE_MATERIAL
   USE JACK_SCALER
}
DEF jackScalerScalerActive Separator {
   USE JACK_ACTIVE_MATERIAL
   USE JACK_SCALER
}

DEF jackScalerFeedback Separator { }
DEF jackScalerFeedbackActive Separator { }
