Example #1
0
ISubObjType *ConvertToPoly::GetSubObjType(int i) {
	static bool initialized = false;
	if(!initialized) {
		initialized = true;
		SOT_Vertex.SetName(GetString(IDS_VERTEX));
		SOT_Edge.SetName(GetString(IDS_EDGE));
		SOT_Face.SetName(GetString(IDS_FACE));
	}

	switch(i) {
	case -1:
		{
			int selLevel;
			Interval ivalid = FOREVER;

			pblock->GetValue (turn_sel_level, GetCOREInterface()->GetTime(), selLevel, ivalid);
			
			if(selLevel == 0) return NULL;
			else {
				selLevel = UI2SelLevel(selLevel);
				return selLevel > 0 ? GetSubObjType(selLevel-1) : NULL;
			}
		}
		break;
	case 0: return &SOT_Vertex;
	case 1: return &SOT_Edge;
	case 2: return &SOT_Face;
	}
	return NULL;
}
Example #2
0
ISubObjType *EditPatchMod::GetSubObjType(int i)
{
    static bool initialized = false;
    if (!initialized)
    {
        initialized = true;
        SOT_Vertex.SetName(GetString(IDS_TH_VERTEX));
        SOT_Edge.SetName(GetString(IDS_TH_EDGE));
        SOT_Patch.SetName(GetString(IDS_TH_PATCH));
        SOT_Tile.SetName("Tile");
        // SOT_Element.SetName(GetString(IDS_TH_ELEMENT));
        // SOT_Handle.SetName(GetString(IDS_TH_HANDLE));
    }

    switch(i)
    {
    case -1:
        if (GetSubObjectLevel() > 0) return GetSubObjType(GetSubObjectLevel() - 1);
        break;
    case 0:
        return &SOT_Vertex;
    case 1:
        return &SOT_Edge;
    case 2:
        return &SOT_Patch;
    case 3:
        return &SOT_Tile;
        // case 4: return &SOT_Element;
        // case 5: return &SOT_Handle;
    }

    return NULL;
}