Katana Plug-in APIs 0.1

FnManipulatorsConfig.h

00001 #ifndef TRANSFORM_MANIPULATORS_FNMANIPULATORSCONFIG_H
00002 #define TRANSFORM_MANIPULATORS_FNMANIPULATORSCONFIG_H
00003 
00004 #include <FnViewer/plugin/FnMathTypes.h>
00005 
00006 namespace FnManipulators
00007 {
00008     // Hydra viewer expects colors defined in linear rgb colorspace.
00009 
00010     using Foundry::Katana::ViewerAPI::Vec4f;
00011 
00012     static const float GuideFactor = 0.65f;
00013 
00014     static const Vec4f HandleColorX(0.75f, 0.00f, 0.01f, 1.0f);
00015     static const Vec4f HandleColorY(0.00f, 0.68f, 0.12f, 1.0f);
00016     static const Vec4f HandleColorZ(0.07f, 0.29f, 0.77f, 1.0f);
00017 
00018     static const Vec4f HandleColorXY = HandleColorX;
00019     static const Vec4f HandleColorXZ = HandleColorZ;
00020     static const Vec4f HandleColorYZ = HandleColorY;
00021 
00022     static const Vec4f HandleColorCentre(1.f, 1.f, 1.f, 0.5f);
00023     static const Vec4f HandleColorCentreOpaque(1.f, 1.f, 1.f, 0.5f);
00024 
00025     // modifies the original colors to be used in the coi manipulators
00026     static const float kAlternativeColorFactor = 0.75f;
00027 
00028     static const Vec4f HandleAlternativeColorX(
00029         HandleColorX.x * kAlternativeColorFactor,
00030         HandleColorX.y * kAlternativeColorFactor,
00031         HandleColorX.z * kAlternativeColorFactor,
00032         HandleColorX.w);
00033     static const Vec4f HandleAlternativeColorY(
00034         HandleColorY.x * kAlternativeColorFactor,
00035         HandleColorY.y * kAlternativeColorFactor,
00036         HandleColorY.z * kAlternativeColorFactor,
00037         HandleColorY.w);
00038     static const Vec4f HandleAlternativeColorZ(
00039         HandleColorZ.x * kAlternativeColorFactor,
00040         HandleColorZ.y * kAlternativeColorFactor,
00041         HandleColorZ.z * kAlternativeColorFactor,
00042         HandleColorZ.w);
00043 
00044     static const Vec4f HandleAlternativeColorXY = HandleAlternativeColorX;
00045     static const Vec4f HandleAlternativeColorXZ = HandleAlternativeColorZ;
00046     static const Vec4f HandleAlternativeColorYZ = HandleAlternativeColorY;
00047 
00048     static const Vec4f HandleAlternativeColorCentre(
00049         HandleColorCentre.x * kAlternativeColorFactor,
00050         HandleColorCentre.y * kAlternativeColorFactor,
00051         HandleColorCentre.z * kAlternativeColorFactor,
00052         HandleColorCentre.w);
00053     static const Vec4f HandleAlternativeColorCentreOpaque(
00054         HandleColorCentreOpaque.x * kAlternativeColorFactor,
00055         HandleColorCentreOpaque.y * kAlternativeColorFactor,
00056         HandleColorCentreOpaque.z * kAlternativeColorFactor,
00057         HandleColorCentreOpaque.w);
00058 
00059     static const Vec4f HandleColorActive(0.83f, 0.49f, 0.02f, 1.0f);
00060     static const Vec4f HandleColorHover(0.89f, 0.66f, 0.21f, 1.0f);
00061     static const Vec4f HandleColorDrag(0.52f, 0.33f, 0.03f, 1.0f);
00062     static const Vec4f HandleColorNonInteractive(0.22f, 0.22f, 0.22f, 0.61f);
00063 
00064     static const float HandleTrunkLength = 1.55f;
00065     static const float HandleTrunkRadius = 0.016f;
00066     static const float HandlePlaneThickness = HandleTrunkRadius * 2.0f;
00067 
00068     static const float TranslateConeLength = 0.4f;
00069     static const float TranslateConeRadius = 0.118f;
00070     static const float TranslateSquareLength = 0.35f;
00071     static const float TranslatePlaneTriangleLength = 0.34f;
00072     static const float TranslatePlaneDistanceToOrigin = 0.6f;
00073     static const float TranslateCoiScale = 0.7f;
00074     static const float TranslateCoiPlaneDistanceToOrigin = 1.1f;
00075 
00076     static const float ScaleCubeLength = 0.236f;
00077     static const float ScaleUniformCubeLength = 0.3f;
00078     static const float ScalePlaneSquareLength = 0.3f;
00079     static const float ScalePlaneDistanceToOrigin = 0.6f;
00080 
00081     static const float RotateAroundCoiRadiusScale = 0.55f;
00082     static const float RotateViewRadius = 1.70f;
00083     static const float RotateSliceRadiusScale = 0.94f;
00084     static const int RotateSliceLineWidth = 1;
00085     static const Vec4f RotateSliceColor(1, 1, 1, 0.2f);
00086     static const Vec4f RotateSliceOutlineColor(1, 1, 1, 0.5f);
00087     static const Vec4f RotateBallColor(0.07f, 0.28f, 0.77f, 0.1f);
00088     static const Vec4f RotateBallAlternativeColor(
00089         RotateBallColor.x * kAlternativeColorFactor,
00090         RotateBallColor.y * kAlternativeColorFactor,
00091         RotateBallColor.z * kAlternativeColorFactor,
00092         RotateBallColor.w);
00093 
00094     static const int CoiLinePattern = 0x00FF00FF;
00095     static const float CoiLinePatternFactor = 0.6f;
00096     static const unsigned int CoiLineWidth = 2;
00097     static const Vec4f CoiLineColor(
00098         HandleColorZ.x * GuideFactor,
00099         HandleColorZ.y * GuideFactor,
00100         HandleColorZ.z * GuideFactor,
00101         1.0f);
00102     static const unsigned int CoiCrossLineWidth = 1;
00103     static const float CoiCrossLineLength = 0.1f;
00104     static const Vec4f CoiCrossColor(1.0f, 1.0f, 1.0f, 1.0f);
00105 
00106     static const int LightingLinePattern = 0x00FF00FF;
00107     static const float LightingLinePatternFactor = 0.4f;
00108     static const unsigned int LightingLineWidth = 2;
00109     static const Vec4f LightingLineHandleColor(
00110         0.82279f,
00111         0.47353f,
00112         0.02217f,
00113         1.0f);  // Linear RGB: 234, 183, 41
00114     static const Vec4f LightingLineColor(0.7f,
00115                                          0.7f,
00116                                          0.7f,
00117                                          1.0f);
00118 
00119 }  // namespace FnManipulators
00120 
00121 #endif  // TRANSFORM_MANIPULATORS_FNMANIPULATORSCONFIG_H
 All Classes Functions Variables Typedefs Enumerations Enumerator