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