|
Katana Plug-in APIs 0.1
|
00001 // Copyright (c) 2017 The Foundry Visionmongers Ltd. All Rights Reserved. 00002 00003 #ifndef GLSCALEMANIPULATOR_H_ 00004 #define GLSCALEMANIPULATOR_H_ 00005 00006 #include "FnGLTransformManipulator.h" 00007 00008 #include <FnAttribute/FnGroupBuilder.h> 00009 00010 using Foundry::Katana::ViewerUtils::GLTransformManipulator; 00011 00023 class GLScaleManipulator : public GLTransformManipulator 00024 { 00025 00026 public: 00027 00029 GLScaleManipulator(); 00030 00032 virtual ~GLScaleManipulator(); 00033 00035 static Manipulator* create() 00036 { 00037 return new GLScaleManipulator(); 00038 } 00039 00041 static void flush(){} 00042 00047 static bool matches(FnAttribute::GroupAttribute locationAttrs) 00048 { 00049 return locationAttrs.getChildByName("xform.interactive.scale").isValid(); 00050 } 00051 00058 static FnAttribute::GroupAttribute getTags() 00059 { 00060 FnAttribute::GroupBuilder gb; 00061 gb.set(kTagName, FnAttribute::StringAttribute("Scale")); 00062 gb.set(kTagShortcut, FnAttribute::StringAttribute("R")); 00063 gb.set(kTagGroup, FnAttribute::StringAttribute(kTagGroup_TRANSFORM)); 00064 gb.set(kTagTechnology, FnAttribute::StringAttribute( 00065 GLTransformManipulator::kTechnology)); 00066 gb.set(kTagAlwaysAvailable, FnAttribute::IntAttribute(1)); 00067 gb.set(kTagExclusiveInGroup, FnAttribute::IntAttribute(1)); 00068 gb.set(kTagPriorityInGroup, FnAttribute::IntAttribute(800)); 00069 00070 return gb.build(); 00071 } 00072 00074 void setup(); 00075 00076 }; 00077 00078 #endif // GLSCALEMANIPULATOR_H_
1.7.3