Path_deleteTop(instance.path());
}
+ void DoSplitPatchCols() {
+ UndoableCommand undo("bobToolz.splitPatchCols");
+
+ DPatch patch;
+
+ // ensure we have something selected
+ if( GlobalSelectionSystem().countSelected() != 1 )
+ {
+ //DoMessageBox("Invalid number of patches selected, choose 1 only", "Error", eMB_OK);
+ globalErrorStream() << "bobToolz SplitPatchCols: Invalid number of patches selected, choose 1 only.\n";
+ return;
+ }
+
+ scene::Instance& instance = GlobalSelectionSystem().ultimateSelected();
+
+ if( !Node_isPatch(instance.path().top()) ) {
+ //DoMessageBox("No patch selected, select ONLY one patch", "Error", eMB_OK);
+ globalErrorStream() << "bobToolz SplitPatchCols: No patch selected, select ONLY 1 patch.\n";
+ return;
+ }
+
+ patch.LoadFromPatch(instance);
+
+ std::list<DPatch> patchList = patch.SplitCols();
+ for(std::list<DPatch>::iterator patches = patchList.begin(); patches != patchList.end(); patches++) {
+ (*patches).BuildInRadiant();
+ }
+
+ Path_deleteTop(instance.path());
+ }
+
+ void DoSplitPatchRows() {
+ UndoableCommand undo("bobToolz.splitPatchRows");
+
+ DPatch patch;
+
+ // ensure we have something selected
+ if( GlobalSelectionSystem().countSelected() != 1 )
+ {
+ //DoMessageBox("Invalid number of patches selected, choose 1 only", "Error", eMB_OK);
+ globalErrorStream() << "bobToolz SplitPatchRows: Invalid number of patches selected, choose 1 only.\n";
+ return;
+ }
+
+ scene::Instance& instance = GlobalSelectionSystem().ultimateSelected();
+
+ if( !Node_isPatch(instance.path().top()) ) {
+ //DoMessageBox("No patch selected, select ONLY one patch", "Error", eMB_OK);
+ globalErrorStream() << "bobToolz SplitPatchRows: No patch selected, select ONLY 1 patch.\n";
+ return;
+ }
+
+ patch.LoadFromPatch(instance);
+
+ std::list<DPatch> patchList = patch.SplitRows();
+ for(std::list<DPatch>::iterator patches = patchList.begin(); patches != patchList.end(); patches++) {
+ (*patches).BuildInRadiant();
+ }
+
+ Path_deleteTop(instance.path());
+ }
+
+void DoSplitPatchCols() {
+ UndoableCommand undo("bobToolz.splitPatchCols");
+
+ DPatch patch;
+
+ // ensure we have something selected
+ if( GlobalSelectionSystem().countSelected() != 1 )
+ {
+ DoMessageBox("Invalid number of patches selected, choose 1 only", "Error", eMB_OK);
+ return;
+ }
+
+ scene::Instance& instance = GlobalSelectionSystem().ultimateSelected();
+
+ if( !Node_isPatch(instance.path().top()) ) {
+ DoMessageBox("You must select ONLY patches", "Error", eMB_OK);
+ return;
+ }
+
+ patch.LoadFromPatch(instance);
+
+ std::list<DPatch> patchList = patch.SplitCols();
+ for(std::list<DPatch>::iterator patches = patchList.begin(); patches != patchList.end(); patches++) {
+ (*patches).BuildInRadiant();
+ }
+
+ Path_deleteTop(instance.path());
+}
+
+void DoSplitPatchRows() {
+ UndoableCommand undo("bobToolz.splitPatchRows");
+
+ DPatch patch;
+
+ // ensure we have something selected
+ if( GlobalSelectionSystem().countSelected() != 1 )
+ {
+ DoMessageBox("Invalid number of patches selected, choose 1 only", "Error", eMB_OK);
+ return;
+ }
+
+ scene::Instance& instance = GlobalSelectionSystem().ultimateSelected();
+
+ if( !Node_isPatch(instance.path().top()) ) {
+ DoMessageBox("You must select ONLY patches", "Error", eMB_OK);
+ return;
+ }
+
+ patch.LoadFromPatch(instance);
+
+ std::list<DPatch> patchList = patch.SplitRows();
+ for(std::list<DPatch>::iterator patches = patchList.begin(); patches != patchList.end(); patches++) {
+ (*patches).BuildInRadiant();
+ }
+
+ Path_deleteTop(instance.path());
+}
+
void DoVisAnalyse()
{
char filename[1024];