00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef __GU_PointGroupSelection_h__
00023 #define __GU_PointGroupSelection_h__
00024
00025 #include "GU_API.h"
00026 #include "GU_PointSelection.h"
00027
00028 #define GU_pointGroupSelectName "selectedPointGroup"
00029
00030
00031 class GU_API GU_PointGroupSelection : public GU_PointSelection
00032 {
00033 public:
00034
00035
00036
00037 GU_PointGroupSelection(GU_Detail &gdp,
00038 const char *grpname = "_gu_ptgselection_",
00039 int reset = 0, const char *prefix = 0);
00040 virtual ~GU_PointGroupSelection(void);
00041
00042
00043
00044 virtual GU_Selection &operator=(GU_PointSelection &);
00045 virtual GU_Selection &operator=(GU_PrimSelection &);
00046 virtual GU_Selection &operator=(GU_EdgeSelection &);
00047 virtual GU_Selection &operator=(GU_BreakpointSelection &);
00048 virtual GU_Selection &operator=(GU_VertexSelection &);
00049 virtual GU_Selection &operator=(GU_PointGroupSelection &);
00050 virtual GU_Selection &operator=(GU_PrimGroupSelection &);
00051
00052
00053
00054
00055
00056
00057
00058
00059
00060 virtual int add(GEO_Point &point, int ordered=0);
00061 virtual int add(GEO_Primitive &prim, int ordered=0);
00062 virtual int add(GB_Edge &edge, int ordered=0);
00063 virtual int add(GEO_Breakpoint &bkp, int ordered=0);
00064 virtual int add(GB_VertexData &vtx, int ordered=0);
00065
00066
00067
00068
00069
00070
00071
00072
00073
00074 virtual int remove(GEO_Point &point, int ordered=0);
00075 virtual int remove(GEO_Primitive &prim, int ordered=0);
00076 virtual int remove(GB_Edge &edge, int ordered=0);
00077 virtual int remove(GEO_Breakpoint &bkp, int ordered=0);
00078 virtual int remove(GB_VertexData &vtx, int ordered=0);
00079
00080
00081 virtual int classType(void) const;
00082
00083
00084 virtual GU_Selection *newSpecies(GU_Detail &gdp);
00085
00086 protected:
00087 private:
00088
00089 GU_PointGroupSelection(GU_Detail &gdp, const GU_PointGroupSelection &s);
00090 };
00091
00092 #endif