00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef __GU_VertexConSelection_h__
00024 #define __GU_VertexConSelection_h__
00025
00026 #include "GU_API.h"
00027 #include "GU_VertexSelection.h"
00028 #include "GU_SelectionConMgr.h"
00029
00030 #define GU_vertexConSelectName "selectedConnectedVertices"
00031
00032 class GU_API GU_VertexConSelection : public GU_VertexSelection
00033 {
00034 public:
00035
00036
00037
00038
00039 GU_VertexConSelection(GU_Detail &gdp, const char *prefix = 0);
00040 virtual ~GU_VertexConSelection(void);
00041
00042
00043 virtual GU_Selection &operator=(GU_PointSelection &);
00044 virtual GU_Selection &operator=(GU_PrimSelection &);
00045 virtual GU_Selection &operator=(GU_EdgeSelection &);
00046 virtual GU_Selection &operator=(GU_BreakpointSelection &);
00047 virtual GU_Selection &operator=(GU_VertexSelection &);
00048 virtual GU_Selection &operator=(GU_PointGroupSelection &);
00049 virtual GU_Selection &operator=(GU_PrimGroupSelection &);
00050
00051
00052
00053
00054
00055 virtual int select(uint *pickbuf, long npicked,
00056 void *&added,
00057 GU_SelectionRule rule = GU_AddSelect,
00058 unsigned *pickid = 0,
00059 GU_LassoInfo *linfo = 0,
00060 const UT_IntArray *prfx = 0);
00061
00062
00063 virtual int add(GEO_Point &pt, int ordered=0);
00064 virtual int add(GEO_Primitive &prim, int ordered=0);
00065 virtual int add(GB_Edge &edge, int ordered=0);
00066 virtual int add(GEO_Breakpoint &b, int ordered=0);
00067 virtual int add(GB_VertexData &vtx, int ordered=0);
00068
00069
00070
00071
00072
00073
00074
00075
00076
00077 virtual int remove(GEO_Point &pt, int ordered=0);
00078 virtual int remove(GEO_Primitive &prim, int ordered=0);
00079 virtual int remove(GB_Edge &edge, int ordered=0);
00080 virtual int remove(GEO_Breakpoint &b, int ordered=0);
00081 virtual int remove(GB_VertexData &vtx, int ordered=0);
00082
00083
00084 virtual void clear(void);
00085 virtual void clearAndDestroy(void);
00086
00087 virtual void topologyChanged();
00088
00089
00090 virtual int classType(void) const;
00091
00092
00093 virtual GU_Selection *newSpecies(GU_Detail &gdp);
00094
00095 protected:
00096 private:
00097
00098
00099 GU_VertexConSelection(GU_Detail &gdp,
00100 const GU_VertexConSelection &s);
00101
00102 int addPrimVertices(GEO_Primitive &prim);
00103 int removePrimVertices(GEO_Primitive &prim);
00104
00105 GEO_PrimConnector *getConnector();
00106
00107 GU_SelectionConMgr myConnectivityMgr;
00108 };
00109
00110 #endif