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_SelectType_h__
00024 #define __GU_SelectType_h__
00025
00026
00027 enum GU_SelectionType {
00028 GU_SPoint,
00029 GU_SVertex,
00030 GU_SEdge,
00031 GU_SBreakpoint,
00032 GU_SPrimitive,
00033 GU_SPointGroup,
00034 GU_SPrimGroup,
00035 GU_SConnectedPrim,
00036 GU_SConnectedPoint,
00037 GU_SConnectedVertex,
00038 GU_SConnectedEdge,
00039 GU_SConnectedBreakpoint
00040 };
00041
00042
00043 enum GU_SelectionConnectivity {
00044 GU_SelectionConnectivity3D,
00045 GU_SelectionConnectivityUV
00046 };
00047
00048 enum GU_SelectionRule {
00049 GU_AddSelect,
00050 GU_ToggleSelect,
00051 GU_RemoveSelect,
00052 GU_ReplaceSelect
00053 };
00054
00055
00056
00057 enum GU_SelectionResult {
00058 GU_SelectionAdd,
00059 GU_SelectionRemove,
00060 GU_SelectionNone
00061 };
00062
00063
00064
00065 #define GU_PICK_GEOPOINT 0x0001 // GEO_Point
00066 #define GU_PICK_XSECTPOINT 0x0002 // intersection pt. (in sphere, NURB..)
00067 #define GU_PICK_GEOEDGE 0x0004 // edge between two GEO_Points
00068 #define GU_PICK_GUIDEEDGE 0x0008 // "guide" edges (in sphere, tube prim)
00069 #define GU_PICK_FACE 0x0010 // face and prim can be picked together
00070 #define GU_PICK_PRIMITIVE 0x0020 // so use "&" on the hit id
00071 #define GU_PICK_POINTNORMAL 0x0040 // GEO_Point normal
00072 #define GU_PICK_FACENORMAL 0x0080 // face and prim nml can be picked
00073 #define GU_PICK_PRIMNORMAL 0x0100 // together so use "&" on the hit id
00074 #define GU_PICK_BREAKPOINT 0x0200 // primitive break points
00075 #define GU_PICK_MIDPOINT 0x0400 // midpoint of a GEO_Edge
00076 #define GU_PICK_GEOPOINT_ROWCOL 0x0800 // selecting all points on row or col
00077 #define GU_PICK_VERTEX 0x1000 // GEO_Vertex
00078
00079 #define GU_PICK_GEOALL 0x1fff // all of the above
00080 #define GU_PICK_OTHER 0x2000
00081
00082 #endif