13 #ifndef __GU_VertexSelection_h__
14 #define __GU_VertexSelection_h__
51 float *u,
float *
v)
const override;
107 void clear()
override;
124 int isvertex)
const override;
136 int64 mem = inclusive ?
sizeof(*this) : 0;
138 mem += myVertices.getMemoryUsage(
false);
148 friend struct VertexLoader;
virtual bool saveElements(UT_JSONWriter &w) const =0
virtual bool modifyMatchingGroup(const GU_Detail &gd, const GA_Group &group, GU_SelectionRule rule)=0
virtual bool getBoundingBox(const GU_Detail &gd, UT_BoundingBox &bbox) const =0
virtual GU_Selection * clone()=0
virtual void assign(const GU_Detail &src_gd, const GU_Selection &src_sel)=0
virtual bool filterByPrimitiveMask(const GU_Detail &gd, const GA_PrimitiveTypeMask &mask)=0
virtual const GA_BreakpointGroup * breakpoints(const GU_Detail &gd) const =0
JSON reader class which handles parsing of JSON or bJSON files.
Class which writes ASCII or binary JSON streams.
virtual bool loadElements(UT_JSONParser &p)=0
**But if you need a result
virtual bool select(const GU_Detail &gd, uint id1, uint id2, uint id3, GU_SelectionRule rule, GU_SelectResult &added, GU_SelectFinishData *&finish_data)=0
exint GA_Size
Defines the bit width for index and offset types in GA.
virtual bool getBoundingBoxUV(const GU_Detail &gd, UT_BoundingBox &bbox, const char *name, int isvertex) const =0
virtual bool growSelection(const GU_Detail &gd, bool checkuv, const UT_StringHolder &uvattribname="uv"_UTsh)=0
virtual bool modifyEdge(const GU_Detail &gd, const GA_Edge &edge, const GEO_Primitive *prim, GU_ModifyType type)=0
virtual bool selectionPoint(const GU_SelectResult &added, UT_Vector3 &xsect) const =0
const GA_Group * mainGroup(const GU_Detail &gd) const override
virtual const GA_PointGroup * points(const GU_Detail &gd) const =0
virtual const GA_EdgeGroup * edges(const GU_Detail &gd) const =0
virtual const GA_PrimitiveGroup * primitives(const GU_Detail &gd) const =0
virtual bool modifyPrimitive(const GU_Detail &gd, GA_Offset primoff, GU_ModifyType type)=0
GLuint const GLchar * name
GA_Size GA_Index
Define the strictness of GA_Offset/GA_Index.
GA_API const UT_StringHolder transform
virtual void clearAndDestroy()
virtual bool modifyPoint(const GU_Detail &gd, GA_Offset ptoff, GU_ModifyType type)=0
virtual bool shrinkSelection(const GU_Detail &gd, bool checkuv, const UT_StringHolder &uvattribname="uv"_UTsh)=0
virtual GA_GroupType classType() const =0
virtual bool selectBoundary(const GU_Detail &gd, bool checkuv, const UT_StringHolder &uvattribname="uv"_UTsh)=0
virtual bool testSelect(const GU_Detail &gd, uint id1, uint id2, uint id3, bool accept_existing, bool accept_new, GU_SelectResult &result) const =0
virtual int64 getMemoryUsage(bool inclusive) const
Return an approximation of how much memory we use.
virtual bool selectAll(const GU_Detail &gd)=0
virtual GA_Size entries() const =0
GA_GroupType
An ordinal enum for the different types of groups in GA.
virtual bool hasVertexIndex(GA_Index index) const
int64 getMemoryUsage(bool inclusive) const override
Return an approximation of how much memory we use.
virtual bool toggleAll(const GU_Detail &gd)=0
virtual bool validate(const GU_Detail &gd)=0
GLubyte GLubyte GLubyte GLubyte w
virtual bool modifyVertex(const GU_Detail &gd, GA_Offset vtxoff, GU_ModifyType type)=0
virtual bool selectFinish(const GU_Detail &gd, GU_SelectionRule rule, GU_SelectResult &added, GU_SelectFinishData *finish_data)
virtual bool modifyBreakpoint(const GU_Detail &gd, const GA_Breakpoint &bkp, GU_ModifyType type)=0
virtual const GA_VertexGroup * vertices(const GU_Detail &gd) const =0