BOOL UnwrapMod::WtIsEnabled(int id) { BOOL iret = TRUE; if (fnGetTVSubMode() == TVOBJECTMODE) { switch (id) { case ID_TV_VERTMODE : case ID_TV_EDGEMODE : case ID_TV_FACEMODE : case ID_EDIT : case ID_RESET : case ID_PAN: case ID_ZOOMTOOL: case ID_ZOOMREGION: case ID_UPDATEMAP: case ID_UVW: case ID_SHOWMAP: case ID_PROPERTIES: case ID_TEXTURE_COMBO: case ID_ZOOMEXTENT: case ID_SNAP: iret = TRUE; break; default: iret = FALSE; break; } return iret; } switch (id) { case ID_PELT_EDITSEAMS: case ID_PELT_POINTTOPOINTSEAMS: if (ip && (ip->GetSubObjectLevel() == 0) ) iret = FALSE; else iret = TRUE; break; case ID_UNFOLD_EDGE: case ID_POINT_TO_POINT_SEL: if (ip && (ip->GetSubObjectLevel() == 2) ) iret = TRUE; else iret = FALSE; break; case ID_STRAIGHTEN: case ID_ZOOMTOGIZMO: case ID_QMAP: case ID_FLATTEN_BYMATID: case ID_FLATTEN_BYSMOOTHINGGROUP: case ID_FLATTENBUTTONS: case ID_GROUPSETDENSITY_EDIT: case ID_GROUPSETDENSITY_SPINNER: case ID_GROUP: case ID_UNGROUP: case ID_GROUPSELECT: { if (ip && (ip->GetSubObjectLevel() == 3) ) iret = TRUE; else iret = FALSE; break; } case ID_TOOL_SPACE_VERTICAL: case ID_TOOL_SPACE_HORIZONTAL: { if (ip && (ip->GetSubObjectLevel() == 3) ) iret = FALSE; else iret = TRUE; break; } case ID_DISPLAYHIDDENEDGES: case ID_SHOWHIDDENEDGES: { if (fnIsMesh()) iret = TRUE; else iret = FALSE; break; } case ID_SAVE: case ID_LOAD: case ID_RESET: { if (fnGetMapMode() == PELTMAP) iret = FALSE; else iret = TRUE; break; } /* case ID_PELT_MAP: if (fnGetTVSubMode() != TVFACEMODE) iret = FALSE; break; */ case ID_EDGERINGSELECTION: case ID_EDGELOOPSELECTION: if (ip && (ip->GetSubObjectLevel() == 2) ) iret = TRUE; else iret = FALSE; break; case ID_MAPPING_ALIGNX: case ID_MAPPING_ALIGNY: case ID_MAPPING_ALIGNZ: case ID_MAPPING_NORMALALIGN: case ID_MAPPING_FIT: case ID_MAPPING_CENTER: case ID_MAPPING_ALIGNTOVIEW: case ID_MAPPING_RESET: if (fnGetMapMode() == NOMAP) iret = FALSE; break; case ID_PELTDIALOG: if (peltData.GetPeltMapMode()) iret = TRUE; else iret = FALSE; break; // case ID_PELT_POINTTOPOINTSEAMS: case ID_PW_SELTOSEAM: case ID_PW_SELTOSEAM2: case ID_PW_SEAMTOSEL: case ID_PW_SEAMTOSEL2: case ID_TOOL_ALIGN_ELEMENT: if (fnGetTVSubMode() == TVEDGEMODE) return TRUE; else iret = FALSE; break; case ID_PELT_EXPANDSELTOSEAM: if (fnGetTVSubMode() == TVFACEMODE) return TRUE; else iret = FALSE; break; case ID_PELTDIALOG_RESETRIG: case ID_PELTDIALOG_SELECTRIG: case ID_PELTDIALOG_SELECTPELT: case ID_PELTDIALOG_SNAPRIG: case ID_PELTDIALOG_STRAIGHTENSEAMS: case ID_PELTDIALOG_MIRRORRIG: case ID_PELTDIALOG_RUN: case ID_PELTDIALOG_RELAX1: case ID_PELTDIALOG_RELAX2: if (peltData.GetPeltMapMode() && peltData.peltDialog.hWnd) iret = TRUE; else iret = FALSE; break; case ID_SELECT_OVERLAP: { if (fnGetTVSubMode() == TVFACEMODE) iret = TRUE; else iret = FALSE; break; } break; case ID_PASTE: iret = copyPasteBuffer.CanPaste(); break; case ID_PASTEINSTANCE: iret = copyPasteBuffer.CanPasteInstance(this); break; case ID_UVEDGEMODE: { if (fnGetTVSubMode() == TVEDGEMODE) iret = TRUE; else iret = FALSE; break; } case ID_OPENEDGEMODE: { if (fnGetTVSubMode() == TVEDGEMODE) iret = TRUE; else iret = FALSE; break; } case ID_UVEDGESELECT: { if (fnGetTVSubMode() == TVEDGEMODE) iret = TRUE; else iret = FALSE; break; } case ID_OPENEDGESELECT: { if (fnGetTVSubMode() == TVEDGEMODE) iret = TRUE; else iret = FALSE; break; } case ID_SNAPCENTER: case ID_SNAPLOWERLEFT: case ID_SNAPLOWERCENTER: case ID_SNAPLOWERRIGHT: case ID_SNAPUPPERLEFT: case ID_SNAPUPPERCENTER: case ID_SNAPUPPERRIGHT: case ID_SNAPRIGHTCENTER: case ID_SNAPLEFTCENTER: case ID_FREEFORMSNAP: { iret = TRUE; break; } case ID_SKETCH: case ID_SKETCHDIALOG: { if (fnGetTVSubMode() == TVVERTMODE) iret = TRUE; else iret = FALSE; break; } case ID_SKETCHREVERSE: { if ((sketchSelMode == SKETCH_SELCURRENT) && (mode == ID_SKETCHMODE)) iret = TRUE; else iret = FALSE; break; } case ID_POLYGONMODE: case ID_POLYGONSELECT: { if (fnGetTVSubMode() == TVFACEMODE) iret = TRUE; else iret = FALSE; break; } case ID_TV_PAINTSELECTINC: { if (fnGetPaintMode() ) iret = TRUE; else iret = FALSE; break; } case ID_TV_PAINTSELECTDEC: { if (fnGetPaintMode() && (fnGetPaintSize() > 1)) iret = TRUE; else iret = FALSE; break; } case ID_FLATTENMAP: case ID_FLATTENMAPDIALOG: { if (fnGetPreventFlattening()) iret = FALSE; else { if (fnGetTVSubMode() == TVFACEMODE) iret = TRUE; else iret = FALSE; } break; } case ID_NORMALMAP: case ID_NORMALMAPDIALOG: case ID_UNFOLDMAP: case ID_UNFOLDMAPDIALOG: if (fnGetTVSubMode() == TVFACEMODE) iret = TRUE; else iret = FALSE; break; case ID_WELD: if ( (fnGetTVSubMode() == TVFACEMODE) || (fnGetTVSubMode() == TVOBJECTMODE) ) iret = FALSE; else iret = TRUE; break; case ID_SELECTBY_MATID: case ID_SELECTBY_SMGRP: case ID_SELECTINVERTEDFACES: case ID_PACK: case ID_PLANAR_MAP: case ID_CYLINDRICAL_MAP: case ID_SPHERICAL_MAP: case ID_BOX_MAP: case ID_SPLINE_MAP: case ID_UNFOLD_MAP: { if (fnGetTVSubMode() == TVFACEMODE) iret = TRUE; else iret = FALSE; break; } } return iret; }
BOOL UnwrapMod::WtIsChecked(int id) { BOOL iret = FALSE; switch (id) { //These are our dialog command modes case ID_FREEFORMMODE: if (mode ==ID_FREEFORMMODE) { iret = TRUE; } break; case ID_MOVE: if (mode == ID_MOVE) { iret = TRUE; } break; case ID_ROTATE: if ( (mode == ID_ROTATE)) { iret = TRUE; } break; case ID_SCALE: if ((mode == ID_SCALE)) { iret = TRUE; } break; case ID_WELD: if ((mode == ID_WELD)) { iret = TRUE; } break; case ID_PAN: if ((mode == ID_PAN)) { iret = TRUE; } break; case ID_ZOOMTOOL: if ((mode == ID_ZOOMTOOL)) { iret = TRUE; } break; case ID_ZOOMREGION: if ((mode == ID_ZOOMREGION)) { iret = TRUE; } break; case ID_TOOL_PELTSTRAIGHTEN: if (mode ==ID_TOOL_PELTSTRAIGHTEN) { iret = TRUE; } break; case ID_SNAPGRID: { BOOL snap; pblock->GetValue(unwrap_gridsnap,0,snap,FOREVER); iret = snap; break; } case ID_SNAPVERTEX: { BOOL snap; pblock->GetValue(unwrap_vertexsnap,0,snap,FOREVER); iret = snap; break; } case ID_SNAPEDGE: { BOOL snap; pblock->GetValue(unwrap_edgesnap,0,snap,FOREVER); iret = snap; break; } case ID_SHOWCOUNTER: iret = fnGetShowCounter(); break; case ID_TWEAKUVW: iret = fnGetTweakMode(); break; case ID_SHOWLOCALDISTORTION: { BOOL showLocalDistortion; TimeValue t = GetCOREInterface()->GetTime(); pblock->GetValue(unwrap_localDistorion,t,showLocalDistortion,FOREVER); iret = showLocalDistortion; } break; case ID_PW_SHOWEDGEDISTORTION: iret = fnGetShowEdgeDistortion(); break; case ID_PELT_ALWAYSSHOWSEAMS: iret = fnGetAlwayShowPeltSeams(); break; case ID_PELT_MAP: if (fnGetMapMode()==PELTMAP) iret = TRUE; break; case ID_PLANAR_MAP: if (fnGetMapMode()==PLANARMAP) iret = TRUE; break; case ID_CYLINDRICAL_MAP: if (fnGetMapMode()==CYLINDRICALMAP) iret = TRUE; break; case ID_SPHERICAL_MAP: if (fnGetMapMode()==SPHERICALMAP) iret = TRUE; break; case ID_BOX_MAP: if (fnGetMapMode()==BOXMAP) iret = TRUE; break; case ID_SPLINE_MAP: if (fnGetMapMode()==SPLINEMAP) iret = TRUE; break; case ID_UNFOLD_MAP: if (fnGetMapMode()==UNFOLDMAP) iret = TRUE; break; case ID_LSCM_MAP: case ID_LSCM_INTERACTIVE: if (fnGetMapMode()==LSCMMAP) iret = TRUE; break; case ID_PELT_EDITSEAMS: if (fnGetPeltEditSeamsMode()) iret = TRUE; break; case ID_PELT_POINTTOPOINTSEAMS: if (fnGetPeltPointToPointSeamsMode() && peltData.PointToPointSelSeams()) iret = TRUE; break; case ID_POINT_TO_POINT_SEL: if (fnGetPeltPointToPointSeamsMode() && (peltData.PointToPointSelSeams()== FALSE)) iret = TRUE; break; case ID_PELTDIALOG_STRAIGHTENSEAMS: if (fnGetPeltDialogStraightenSeamsMode()) iret = TRUE; break; case ID_SHOWOPENEDGESINVIEWPORT: if (fnGetViewportOpenEdges()) iret = TRUE; break; case ID_LOCK: iret = lockSelected; break; case ID_FILTERSELECTED: iret = filterSelectedFaces; break; case ID_SHOWMAP: iret = showMap; break; case ID_SNAP: if (mUIManager.GetFlyOut(ID_SNAP) == 1) iret = pixelSnap; else iret = gridSnap; break; case ID_LIMITSOFTSEL: iret = limitSoftSel; break; case ID_GEOMELEMMODE: iret = geomElemMode; break; case ID_PLANARMODE: { iret = fnGetGeomPlanarMode(); break; } case ID_IGNOREBACKFACE: { iret = fnGetBackFaceCull(); break; } case ID_ELEMENTMODE: { iret = fnGetTVElementMode(); break; } case ID_SHOWVERTCONNECT: { iret = fnGetShowConnection(); break; } case ID_TV_VERTMODE: { if (fnGetTVSubMode() == TVVERTMODE) iret = TRUE; else iret = FALSE; break; } case ID_TV_EDGEMODE: { if (fnGetTVSubMode() == TVEDGEMODE) iret = TRUE; else iret = FALSE; break; } case ID_TV_FACEMODE: { if (fnGetTVSubMode() == TVFACEMODE) iret = TRUE; else iret = FALSE; break; } case ID_UVEDGEMODE: { if (fnGetUVEdgeMode()) iret = TRUE; else iret = FALSE; break; } case ID_OPENEDGEMODE: { if (fnGetOpenEdgeMode()) iret = TRUE; else iret = FALSE; break; } case ID_DISPLAYHIDDENEDGES: { if (fnGetDisplayHiddenEdges()) iret = TRUE; else iret = FALSE; break; } case ID_RESETPIVOTONSEL: { if (fnGetResetPivotOnSel()) iret = TRUE; else iret = FALSE; break; } case ID_SKETCH: { if (mode == ID_SKETCHMODE) iret = TRUE; else iret = FALSE; break; } case ID_SHOWHIDDENEDGES: { if (fnGetDisplayHiddenEdges()) iret = TRUE; else iret = FALSE; break; } case ID_POLYGONMODE: { if (fnGetPolyMode()) iret = TRUE; else iret = FALSE; break; } case ID_ALLOWSELECTIONINSIDEGIZMO: { if (fnGetAllowSelectionInsideGizmo()) iret = TRUE; else iret = FALSE; break; } case ID_SHOWSHARED: { if (fnGetShowShared()) iret = TRUE; else iret = FALSE; break; } case ID_ALWAYSEDIT: { if (fnGetAlwaysEdit()) iret = TRUE; else iret = FALSE; break; } case ID_SYNCSELMODE: { if (fnGetSyncSelectionMode()) iret = TRUE; else iret = FALSE; break; } case ID_SHOWOPENEDGES: { if (fnGetDisplayOpenEdges()) iret = TRUE; else iret = FALSE; break; } case ID_BRIGHTCENTERTILE: { if (fnGetBrightCenterTile()) iret = TRUE; else iret = FALSE; break; } case ID_BLENDTOBACK: { if (fnGetBlendToBack()) iret = TRUE; else iret = FALSE; break; } case ID_TV_PAINTSELECTMODE: { if (fnGetPaintMode()) iret = TRUE; else iret = FALSE; break; } case ID_GRIDSNAP: { if (fnGetGridSnap()) iret = TRUE; else iret = FALSE; break; } case ID_GRIDVISIBLE: { if (fnGetGridVisible()) iret = TRUE; else iret = FALSE; break; } case ID_PREVENTREFLATTENING: { if (fnGetPreventFlattening()) iret = TRUE; else iret = FALSE; break; } case ID_ABSOLUTETYPEIN: { iret = !absoluteTypeIn; break; } case ID_LOCKSELECTED: { iret = lockSelected; break; } case ID_FILTER_SELECTEDFACES: { iret = filterSelectedFaces; break; } case ID_SOFTSELECTION: { iret = fnGetEnableSoftSelection(); break; } case ID_GEOM_ELEMENT: { iret = fnGetGeomElemMode(); break; } case ID_QUICKMAP_DISPLAY: { iret = GetQMapPreview(); break; } case ID_TOOL_AUTOPIN: { pblock->GetValue(unwrap_autopin,0,iret,FOREVER); break; } case ID_TOOL_FILTERPIN: { pblock->GetValue(unwrap_filterpin,0,iret,FOREVER); break; } case ID_PACK_RESCALE: { iret = mPackTempRescale; break; } case ID_PACK_ROTATE: { iret = mPackTempRotate; break; } case ID_PEEL_DETACH: { iret = mbPeelDetach; break; } } return iret; }