13 #ifndef __SOP_Edit_h__
14 #define __SOP_Edit_h__
31 #define SOP_EDIT_NUM_EDIT_PARMS (3)
32 #define SOP_EDIT_NUM_SCULPT_PARMS (1)
38 #define SOP_EDIT_NUM_TRANSFORM_PARMS (13)
46 #define SOP_EDIT_NUM_PIVOTXFORM_PARMS (2)
50 #define SOP_EDIT_NUM_PREXFORM_PARMS (6)
58 #define SOP_EDIT_NUM_LOCALPIVOTXFORM_PARMS (2)
62 #define SOP_EDIT_NUM_LOCALPREXFORM_PARMS (6)
71 #define SOP_EDIT_NUM_XFORMSPACE_PARMS (4)
80 #define SOP_EDIT_NUM_PEAK_PARMS (2)
90 #define SOP_EDIT_NUM_SOFT_PARMS (9)
106 #define SOP_EDIT_SCULPT_NUM_DEFORM_PARMS (8)
118 #define SOP_EDIT_SCULPT_NUM_NIB_PARMS (18)
138 #define SOP_EDIT_SCULPT_NUM_RAY_PARMS (11)
169 friend class MSS_EditState;
174 int isRefInput(
unsigned int i)
const override;
179 void toggleXformPeak();
250 default: iop = 0;
break;
288 {
return evalInt(
"modeswitcher", 0, t); }
311 int alone = 0)
override;
320 void clearRayIntersect();
327 void applyScaledDeltas(
341 {
return myPrimitiveGroup; }
360 class LocalSpaceCache;
377 void clearTransformParms();
379 const char *inputLabel(
unsigned idx)
const override;
384 void rollbackCurrentDelta()
override;
386 void applyAndClearCurrentDelta()
override;
387 void applyPermanentDelta()
override;
393 void doErase()
override;
521 bool hasStrokeChanged(
fpreal t)
override;
522 bool hasStyleChanged(
fpreal t)
override;
525 bool hasNibFileChanged(
fpreal t)
override;
526 bool hasAccumStencilChanged(
fpreal t)
override;
527 bool hasNibLookChanged(
fpreal t)
override;
533 {
return &myCoordinateFrames; }
538 void syncNodeVersion(
const char *old_version,
539 const char *cur_version,
540 bool *node_deleted)
override;
551 void SET_SWITCHER(
int i)
583 int PREXFORM_TRS(
fpreal t)
const
585 int PREXFORM_XYZ(
fpreal t)
const
623 int LPREXFORM_TRS(
fpreal t)
const
625 int LPREXFORM_XYZ(
fpreal t)
const
666 bool SLIDEONSURFACE(
fpreal t)
const
686 int DIST_METRIC(
fpreal t)
const
688 bool APPLY_ROLLOFF(
fpreal t)
const
694 int VISUALIZE_FALLOFF(
fpreal t)
const
696 bool falloffAttributeRequested(
fpreal t)
const;
726 void updateMirrorParmCache(MirrorParmCache &cache,
fpreal t);
728 MirrorParmCache &cache,
fpreal t);
731 bool isTransform(
fpreal t)
const {
return SWITCHER(t) == 0; }
732 bool isPeak(
fpreal t)
const {
return SWITCHER(t) != 0; }
733 void doPeak(
fpreal t, MirrorParmCache &mirror_cache,
734 AttribAction &falloff_action);
737 bool isSoft(
fpreal t)
const {
return SOFTRADIUS(t) != 0.0; }
745 int myCurrentInputId;
746 int myCurrentGeoCookCount;
747 int myReferenceInputId;
748 int myReferenceGeoCookCount;
757 bool myVisualizationFlag;
758 bool mySetFalloffOnLastCook;
759 bool myOverwroteInputFalloff;
762 LocalSpaceCache *myLocalSpaceCache;
770 bool myPreSoftDistanceMetric;
virtual void setVisualization(bool)
virtual bool updateParmsFlags()
int DOSTAMPING() override
GLuint const GLchar * name
const GA_PointGroup * getPointGroup() override
fpreal SQUASH(fpreal t) override
fpreal ANGLE(fpreal t) override
void SCRIPT(UT_String &, fpreal) override
void setHitUVW(fpreal u, fpreal v, fpreal w, fpreal t) override
void setHitPoint(int pt, fpreal t) override
fpreal PAPERNOISE(fpreal t) override
void NMLNAME(UT_String &, fpreal) override
fpreal FGB(fpreal) override
GLuint const GLfloat * val
fpreal RAYHITZ(fpreal t) override
GLenum GLenum GLenum GLenum GLenum scale
virtual const GA_Group * getGroup()
int ACCUMSTENCIL() override
void setBrushEvent(SOP_BrushEvent event) override
void setRayOrigin(const UT_Vector3 &orig, fpreal t) override
fpreal FGG(fpreal) override
void setHitPressure(fpreal p, fpreal t) override
fpreal SYMMETRYDIRZ(fpreal) override
virtual void getXformOrder(UT_XformOrder &xord, const CH_Channel *chp) const
SOP_BrushOp OP() override
fpreal evalFloat(int pi, int vi, fpreal t) const
fpreal DEPTH(fpreal t) override
fpreal RAYHITX(fpreal t) override
bool wantsCookSelection() const override
int OVERRIDEALPHA() override
fpreal SOFTEDGE(fpreal t) override
fpreal RAYHITW(fpreal t) override
int altersGeometry() const override
bool USE_FOREGROUND() override
bool getCookedFlag() const
int SHAPE(fpreal t) override
int PTHIT(fpreal t) override
void CDNAME(UT_String &, fpreal) override
void setProjectionType(int projtype) override
fpreal BGG(fpreal) override
void useBackgroundColor() override
int DOUVREFLECTION() override
int altersColor() const override
static const char * theLeadWorldXformAttribName
fpreal SYMMETRYORIGX(fpreal) override
fpreal USERX(fpreal t) override
bool unloadData() override
fpreal SYMMETRYORIGY(fpreal) override
fpreal UPY(fpreal t) override
int BITMAPCHAN(fpreal t) override
fpreal RAYHITPRESSURE(fpreal t) override
void evalString(UT_String &val, int pi, int vi, fpreal t) const
void unloadDataHack() override
Do not use this function! Using it will likely cause crashes.
fpreal RAWUVRADIUS(fpreal t) override
GLubyte GLubyte GLubyte GLubyte w
virtual void beginNewOperation()
fpreal HEIGHT(fpreal t) override
int PROJECTIONTYPE() override
int DOPOINTREFLECTION() override
int UPTYPE(fpreal t) override
int DOROTATION() override
void KERNEL(UT_String &str, fpreal t) override
int SYMMETRYROT(fpreal) override
void setRadius(fpreal r, fpreal t) override
int OVERRIDENML() override
void getSelString(UT_String &str) override
Get the selection group string:
fpreal RAYORIENTZ(fpreal t) override
fpreal RADIUSPRESSURE(fpreal t) override
fpreal RAYHITY(fpreal t) override
fpreal RAYORIENTX(fpreal t) override
void setRayOrientation(const UT_Vector3 &orient, fpreal t) override
OP_ERROR cookInputGroups(OP_Context &context, int alone=0) override
void setBrushShape(SOP_BrushShape shape) override
GA_API const UT_StringHolder orient
int WRITEALPHA() override
GDT_CoordinateFrames * getCoordinateFrames()
int getNumGuides() override
void clearAllDeltas(fpreal t) override
int PRIMHIT(fpreal t) override
void setAccumulateStencil(bool yesno) override
fpreal SYMMETRYORIGZ(fpreal) override
void BITMAP(UT_String &str, fpreal t) override
fpreal RAYHITU(fpreal t) override
fpreal UPZ(fpreal t) override
fpreal OPACITYPRESSURE(fpreal t) override
int OVERRIDECD() override
bool inBrushMode(fpreal t)
int USENORMALS() override
fpreal BGB(fpreal) override
fpreal FGR(fpreal t) override
void setFloat(int parmi, int vectori, fpreal t, fpreal value, PRM_AddKeyType add_key=PRM_AK_MARK_PENDING)
fpreal SYMMETRYDIRX(fpreal) override
virtual void resolveObsoleteParms(PRM_ParmList *)
void setInt(int parmi, int vectori, fpreal t, exint value)
void ALPHANAME(UT_String &, fpreal) override
void setHitPrimitive(int primidx, fpreal t) override
GLdouble GLdouble GLdouble r
void setBrushOp(SOP_BrushOp op) override
void setUVRadius(fpreal r, fpreal t) override
GuideType getGuideType(int guide_idx) override
fpreal SYMMETRYUVORIGV(fpreal) override
fpreal USERY(fpreal t) override
const GA_PrimitiveGroup * getPrimitiveSelection() const override
fpreal SYMMETRYDIST(fpreal) override
fpreal UPX(fpreal t) override
void setUseOrient(bool f)
fpreal SYMMETRYUVORIGU(fpreal) override
fpreal RAWRADIUS(fpreal t) override
void useForegroundColor() override
exint evalInt(int pi, int vi, fpreal t) const
fpreal RAWOPACITY(fpreal t) override
fpreal USERZ(fpreal t) override
virtual int isRefInput(unsigned idx) const
fpreal RAYHITV(fpreal t) override
fpreal SYMMETRYDIRY(fpreal) override
fpreal SYMMETRYUVANGLE(fpreal) override
int DOREFLECTION() override
fpreal RAYORIENTY(fpreal t) override
int USECONNECTIVITY() override
fpreal SPLATTER(fpreal t) override
fpreal BGR(fpreal t) override