Katana Plug-in APIs 0.1

FnGLScaleManipulator.h

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_
 All Classes Functions Variables Typedefs Enumerations Enumerator