HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
LOP_XformEditor.h
Go to the documentation of this file.
1 /*
2  * PROPRIETARY INFORMATION. This software is proprietary to
3  * Side Effects Software Inc., and is not to be reproduced,
4  * transmitted, or disclosed in any way without written permission.
5  *
6  * NAME: LOP Library (C++)
7  *
8  */
9 
10 #ifndef __LOP_XformEditor_h__
11 #define __LOP_XformEditor_h__
12 
13 #include "LOP_API.h"
14 #include "LOP_Node.h"
15 
16 #include <GU/GU_ParmDataItem.h>
17 
18 class LOP_Node;
19 class UT_AutoInterrupt;
20 class HUSD_AutoWriteLock;
21 class HUSD_PathSet;
22 
24 {
25 public:
26  static PRM_Template myTemplateList[];
27  static int myTemplateListSize;
29 
30  static OP_ERROR cookMyLop(LOP_Node *,
31  OP_Context &context,
32  UT_AutoInterrupt &boss,
33  HUSD_AutoWriteLock &writelock,
34  UT_StringMap<bool> &alloweditmap,
35  HUSD_PathSet &modified_paths);
36 
37  static int applyEditCallback(void *data, int, fpreal t,
38  const PRM_Template *);
39  static int resetCallback(void *data, int, fpreal t,
40  const PRM_Template *);
41  static int removeUnusedXformsCallback(void *data, int, fpreal t,
42  const PRM_Template *);
43 
44  static const GU_ParmDataItem *
45  getDelta(LOP_Node *node);
46  static void setDelta(LOP_Node *node,
47  const GU_DetailHandle &gdh);
48 
49  static void resetEditParms(LOP_Node *node);
50  static bool applyEdit(LOP_Node *node, int which_input = 0);
51  static bool applyEdit(LOP_Node *node, HUSD_AutoReadLock &lock,
52  GU_DetailHandle& out_gdh);
53  static UT_Matrix4D buildPivotXform(LOP_Node *node);
54  static GU_DetailHandle getDeltaWithParmXform(LOP_Node *node,
55  HUSD_AutoAnyLock &lock,
56  bool exclude_edits = false);
57 private:
58  static void removeUnusedXforms(LOP_Node *node);
59 };
60 
61 #endif
static PRM_Template myGroupTemplate
UT_ErrorSeverity
Definition: UT_Error.h:25
static int myTemplateListSize
#define LOP_API
Definition: LOP_API.h:10
GLdouble t
Definition: glad.h:2397
fpreal64 fpreal
Definition: SYS_Types.h:277
Definition: format.h:895