12 #ifndef __SOP_CaptureOverride_h__
13 #define __SOP_CaptureOverride_h__
27 #define SOP_CAPTUREOVERRIDE_GRP_IDX 0
34 class SOP_UndoCaptureOverride;
38 friend class SOP_UndoCaptureOverride;
39 friend class SOP_UndoCaptureOverrideOpDepend;
55 void beginNewOperation();
62 bool changed_input,
bool changed_group );
66 void updateCookSelection(
67 bool changed_input,
bool changed_group );
72 bool hasWeightOverride(
int point_num )
const;
74 void startNewChange(
const int *
points,
int num_points,
76 void changeWeight(
fpreal t,
const char *cregion,
77 float weight,
int add_weight );
80 float weight,
int add_weight );
81 void normalizeWeights(
fpreal t,
84 void createCaptureWeightOverride(
const int *
points,
86 void removeCaptureWeightOverride(
const int *
points,
89 bool addAverageCaptureWeight(
OP_Context &context,
96 void applyPermanentOverrides(
OP_Context *ctx = 0);
100 void applyAndClearCurrentDelta();
104 void updateParmsAfterClear();
112 const char *old_fullpath,
114 const char *old_chan_name )
override;
120 const char *path_prefix,
124 const char *
path=0)
override;
132 void fixParmCRegionPathsForRootChange(
136 void setCRegionsParm(
fpreal t,
142 int addCaptureRegion(
UT_String &cregion_name );
145 static void buildCregionMenu(
148 static int getCaptureRegionDetailData(
void *user_data,
149 char *full_cregion_path,
150 char *rel_cregion_path,
158 static int applyStatic(
void *,
int idx,
161 static int clearallStatic(
void *,
int idx,
164 static int openSpreadsheetStatic(
void *,
int idx,
167 void checkCaptureRegions();
169 bool checkChangedSource(
unsigned idx,
OP_Context &context);
171 void rollbackCurrentOverridesDelta();
173 void ensureCaptureAttributesExist();
176 void undoOverrideDeltas(
178 void redoOverrideDeltas(
180 void undoClearOverrides(
181 SOP_UndoCaptureOverride *undo);
182 void redoClearOverrides(
183 SOP_UndoCaptureOverride *undo);
192 bool myApplyPermanentFlag;
199 bool myUpdatedColors;
200 bool myForceUpdateColors;
203 static int theCregionIndex;
206 #endif // __SOP_CaptureOverride_h__
virtual void setVisualization(bool)
virtual bool updateParmsFlags()
GLdouble GLdouble GLint GLint const GLdouble * points
GLsizei const GLchar *const * path
virtual void handleOpDependency(int referenced_op_id, const OP_Dependency &op_dep, OP_InterestType interest_type, bool &need_cook, const char *old_fullpath, const char *old_cwd, const char *old_chan_name)
Convenience class to store a bone capture region.
bool load(UT_IStream &is, const char *extension, const char *path=0) override
PRM_Parm & getParm(int i)
void buildOpDependencies() override
void evalString(UT_String &val, int pi, int vi, fpreal t) const
GLuint const GLchar * name
#define SOP_CAPTUREOVERRIDE_GRP_IDX
virtual OP_ERROR cookInputGroups(OP_Context &context, int alone=0)
virtual void buildParmDependency(int parm_index)
virtual OP_ERROR cookMySop(OP_Context &context)=0
OP_ERROR save(std::ostream &os, const OP_SaveFlags &flags, const char *pathPrefix, const UT_String &name_override=UT_String()) override
OIIO_UTIL_API std::string extension(string_view filepath, bool include_dot=true) noexcept
constexpr T normalize(UT_FixedVector< T, D > &a) noexcept
const UT_String & getUndoLabel() const
const char * getToken() const