- GEOMGUI* library = 0;
- // try to get-or-load corresponding GUI library
- if( id == 111 || // MENU FILE - IMPORT BREP
- id == 112 || // MENU FILE - IMPORT IGES
- id == 113 || // MENU FILE - IMPORT STEP
- id == 121 || // MENU FILE - EXPORT BREP
- id == 122 || // MENU FILE - EXPORT IGES
- id == 123 || // MENU FILE - EXPORT STEP
- id == 2171 || // POPUP VIEWER - SELECT ONLY - VERTEX
- id == 2172 || // POPUP VIEWER - SELECT ONLY - EDGE
- id == 2173 || // POPUP VIEWER - SELECT ONLY - WIRE
- id == 2174 || // POPUP VIEWER - SELECT ONLY - FACE
- id == 2175 || // POPUP VIEWER - SELECT ONLY - SHELL
- id == 2176 || // POPUP VIEWER - SELECT ONLY - SOLID
- id == 2177 || // POPUP VIEWER - SELECT ONLY - COMPOUND
- id == 2178 || // POPUP VIEWER - SELECT ONLY - SELECT ALL
- id == 31 || // MENU EDIT - COPY
- id == 33 || // MENU EDIT - DELETE
- id == 411 || // MENU SETTINGS - ADD IN STUDY
- id == 412 || // MENU SETTINGS - SHADING COLOR
- id == 5103 || // MENU TOOLS - CHECK GEOMETRY
- id == 8031 || // POPUP VIEWER - DEFLECTION COEFFICIENT
- id == 8032 || // POPUP VIEWER - COLOR
- id == 8033 || // POPUP VIEWER - TRANSPARENCY
- id == 8034 || // POPUP VIEWER - ISOS
- id == 8035 || // POPUP VIEWER - AUTO COLOR
- id == 8036 || // POPUP VIEWER - DISABLE AUTO COLOR
- id == 8037 || // POPUP VIEWER - SHOW CHILDREN
- id == 8038 || // POPUP VIEWER - HIDE CHILDREN
- id == 8039 || // POPUP VIEWER - POINT MARKER
- id == 804 || // POPUP VIEWER - ADD IN STUDY
- id == 901 || // OBJECT BROWSER - RENAME
- id == 9024 ) { // OBJECT BROWSER - OPEN
- //cout << "id " << id << " received" << endl;
-#ifndef WNT
- library = getLibrary( "libGEOMToolsGUI.so" );
-#else
- library = getLibrary( "GEOMToolsGUI.dll" );
-#endif
- }
- else if( id == 211 || // MENU VIEW - WIREFRAME/SHADING
- id == 212 || // MENU VIEW - DISPLAY ALL
- id == 213 || // MENU VIEW - DISPLAY ONLY
- id == 214 || // MENU VIEW - ERASE ALL
- id == 215 || // MENU VIEW - ERASE
- id == 216 || // MENU VIEW - DISPLAY
- id == 218 || // MENU VIEW - VECTOR MODE
- id == 80311 || // POPUP VIEWER - WIREFRAME
- id == 80312 || // POPUP VIEWER - SHADING
- id == 80313 ) { // POPUP VIEWER - VECTORS
-#ifndef WNT
- library = getLibrary( "libDisplayGUI.so" );
-#else
- library = getLibrary( "DisplayGUI.dll" );
-#endif
- }
- else if( id == 4011 || // MENU BASIC - POINT
- id == 4012 || // MENU BASIC - LINE
- id == 4013 || // MENU BASIC - CIRCLE
- id == 4014 || // MENU BASIC - ELLIPSE
- id == 4015 || // MENU BASIC - ARC
- id == 4016 || // MENU BASIC - VECTOR
- id == 4017 || // MENU BASIC - PLANE
-// id == 4018 || // MENU BASIC - WPLANE // DEPRECATED
- id == 4019 || // MENU BASIC - CURVE
- id == 4020 ) { // MENU BASIC - REPAIR
-#ifndef WNT
- library = getLibrary( "libBasicGUI.so" );
-#else
- library = getLibrary( "BasicGUI.dll" );
-#endif
- }
- else if( id == 4021 || // MENU PRIMITIVE - BOX
- id == 4022 || // MENU PRIMITIVE - CYLINDER
- id == 4023 || // MENU PRIMITIVE - SPHERE
- id == 4024 || // MENU PRIMITIVE - TORUS
- id == 4025 || // MENU PRIMITIVE - CONE
- id == 4026 || // MENU PRIMITIVE - FACE
- id == 4027 ) { // MENU PRIMITIVE - DISK
-#ifndef WNT
- library = getLibrary( "libPrimitiveGUI.so" );
-#else
- library = getLibrary( "PrimitiveGUI.dll" );
-#endif
- }
- else if( id == 4031 || // MENU GENERATION - PRISM
- id == 4032 || // MENU GENERATION - REVOLUTION
- id == 4033 || // MENU GENERATION - FILLING
- id == 4034 ) { // MENU GENERATION - PIPE
-#ifndef WNT
- library = getLibrary( "libGenerationGUI.so" );
-#else
- library = getLibrary( "GenerationGUI.dll" );
-#endif
- }
- else if( id == 404 || // MENU ENTITY - SKETCHER
- id == 405 || // MENU ENTITY - 3D SKETCHER
- id == 407 ) { // MENU ENTITY - EXPLODE
-#ifndef WNT
- library = getLibrary( "libEntityGUI.so" );
-#else
- library = getLibrary( "EntityGUI.dll" );
-#endif
- }
- else if( id == 4081 || // MENU BUILD - EDGE
- id == 4082 || // MENU BUILD - WIRE
- id == 4083 || // MENU BUILD - FACE
- id == 4084 || // MENU BUILD - SHELL
- id == 4085 || // MENU BUILD - SOLID
- id == 4086 ) { // MENU BUILD - COMPUND
-#ifndef WNT
- library = getLibrary( "libBuildGUI.so" );
-#else
- library = getLibrary( "BuildGUI.dll" );
-#endif
- }
- else if( id == 5011 || // MENU BOOLEAN - FUSE
- id == 5012 || // MENU BOOLEAN - COMMON
- id == 5013 || // MENU BOOLEAN - CUT
- id == 5014 ) { // MENU BOOLEAN - SECTION
-#ifndef WNT
- library = getLibrary( "libBooleanGUI.so" );
-#else
- library = getLibrary( "BooleanGUI.dll" );
-#endif
- }
- else if( id == 5021 || // MENU TRANSFORMATION - TRANSLATION
- id == 5022 || // MENU TRANSFORMATION - ROTATION
- id == 5023 || // MENU TRANSFORMATION - LOCATION
- id == 5024 || // MENU TRANSFORMATION - MIRROR
- id == 5025 || // MENU TRANSFORMATION - SCALE
- id == 5026 || // MENU TRANSFORMATION - OFFSET
- id == 5027 || // MENU TRANSFORMATION - MULTI-TRANSLATION
- id == 5028 || // MENU TRANSFORMATION - MULTI-ROTATION
- id == 5029 ) { // CONTEXT(POPUP) MENU - RELOAD_IMPORTED
-#ifndef WNT
- library = getLibrary( "libTransformationGUI.so" );
-#else
- library = getLibrary( "TransformationGUI.dll" );
-#endif
- }
- else if( id == 503 || // MENU OPERATION - PARTITION
- id == 504 || // MENU OPERATION - ARCHIMEDE
- id == 505 || // MENU OPERATION - FILLET
- id == 506 || // MENU OPERATION - CHAMFER
- id == 507 || // MENU OPERATION - CLIPPING RANGE
- id == 508 || // MENU OPERATION - GET SHAPES ON SHAPE
- id == 509 || // MENU OPERATION - FILLET 2D
- id == 510 ) { // MENU OPERATION - FILLET 1D
-#ifndef WNT
- library = getLibrary( "libOperationGUI.so" );
-#else
- library = getLibrary( "OperationGUI.dll" );
-#endif
- }
- else if( id == 601 || // MENU REPAIR - SEWING
- id == 603 || // MENU REPAIR - SUPPRESS FACES
- id == 604 || // MENU REPAIR - SUPPRESS HOLE
- id == 605 || // MENU REPAIR - SHAPE PROCESSING
- id == 606 || // MENU REPAIR - CLOSE CONTOUR
- id == 607 || // MENU REPAIR - REMOVE INTERNAL WIRES
- id == 608 || // MENU REPAIR - ADD POINT ON EDGE
- id == 609 || // MENU MEASURE - FREE BOUNDARIES
- id == 610 || // MENU MEASURE - FREE FACES
- id == 611 || // MENU REPAIR - CHANGE ORIENTATION
- id == 602 || // MENU REPAIR - GLUE FACES
- id == 612 ) { // MENU REPAIR - REMOVE EXTRA EDGES
-#ifndef WNT
- library = getLibrary( "libRepairGUI.so" );
-#else
- library = getLibrary( "RepairGUI.dll" );
-#endif
- }
- else if( id == 701 || // MENU MEASURE - PROPERTIES
- id == 702 || // MENU MEASURE - CDG
- id == 703 || // MENU MEASURE - INERTIA
- id == 704 || // MENU MEASURE - NORMALE
- id == 7041 || // MENU MEASURE - BOUNDING BOX
- id == 7042 || // MENU MEASURE - MIN DISTANCE
- id == 7043 || // MENU MEASURE - ANGLE
- id == 705 || // MENU MEASURE - TOLERANCE
- id == 706 || // MENU MEASURE - WHATIS
- id == 707 || // MENU MEASURE - CHECK
- id == 7072 || // MENU MEASURE - CHECK COMPOUND OF BLOCKS
- id == 708 ) { // MENU MEASURE - POINT COORDINATES
-#ifndef WNT
- library = getLibrary( "libMeasureGUI.so" );
-#else
- library = getLibrary( "MeasureGUI.dll" );
-#endif
- }
- else if( id == 800 || // MENU GROUP - CREATE
- id == 8001 || // POPUP MENU - CREATE GROUP
- id == 801 ) { // MENU GROUP - EDIT
-#ifndef WNT
- library = getLibrary( "libGroupGUI.so" );
-#else
- library = getLibrary( "GroupGUI.dll" );
+ QString libName;
+ // find corresponding GUI library
+ switch ( id ) {
+ case GEOMOp::OpOriginAndVectors: // MENU BASIC - ORIGIN AND BASE VECTORS
+ createOriginAndBaseVectors(); // internal operation
+ return;
+ case GEOMOp::OpImport: // MENU FILE - IMPORT
+ case GEOMOp::OpExport: // MENU FILE - EXPORT
+ case GEOMOp::OpSelectVertex: // POPUP MENU - SELECT ONLY - VERTEX
+ case GEOMOp::OpSelectEdge: // POPUP MENU - SELECT ONLY - EDGE
+ case GEOMOp::OpSelectWire: // POPUP MENU - SELECT ONLY - WIRE
+ case GEOMOp::OpSelectFace: // POPUP MENU - SELECT ONLY - FACE
+ case GEOMOp::OpSelectShell: // POPUP MENU - SELECT ONLY - SHELL
+ case GEOMOp::OpSelectSolid: // POPUP MENU - SELECT ONLY - SOLID
+ case GEOMOp::OpSelectCompound: // POPUP MENU - SELECT ONLY - COMPOUND
+ case GEOMOp::OpSelectAll: // POPUP MENU - SELECT ONLY - SELECT ALL
+ case GEOMOp::OpDelete: // MENU EDIT - DELETE
+ case GEOMOp::OpCheckGeom: // MENU TOOLS - CHECK GEOMETRY
+ case GEOMOp::OpDeflection: // POPUP MENU - DEFLECTION COEFFICIENT
+ case GEOMOp::OpColor: // POPUP MENU - COLOR
+ case GEOMOp::OpSetTexture: // POPUP MENU - SETTEXTURE
+ case GEOMOp::OpTransparency: // POPUP MENU - TRANSPARENCY
+ case GEOMOp::OpIncrTransparency: // SHORTCUT - INCREASE TRANSPARENCY
+ case GEOMOp::OpDecrTransparency: // SHORTCUT - DECREASE TRANSPARENCY
+ case GEOMOp::OpIsos: // POPUP MENU - ISOS
+ case GEOMOp::OpIncrNbIsos: // SHORTCUT - INCREASE NB ISOS
+ case GEOMOp::OpDecrNbIsos: // SHORTCUT - DECREASE NB ISOS
+ case GEOMOp::OpAutoColor: // POPUP MENU - AUTO COLOR
+ case GEOMOp::OpNoAutoColor: // POPUP MENU - DISABLE AUTO COLOR
+ case GEOMOp::OpShowChildren: // POPUP MENU - SHOW CHILDREN
+ case GEOMOp::OpHideChildren: // POPUP MENU - HIDE CHILDREN
+ case GEOMOp::OpUnpublishObject: // POPUP MENU - UNPUBLISH
+ case GEOMOp::OpPublishObject: // ROOT GEOM OBJECT - POPUP MENU - PUBLISH
+ case GEOMOp::OpPointMarker: // POPUP MENU - POINT MARKER
+ case GEOMOp::OpMaterialProperties: // POPUP MENU - MATERIAL PROPERTIES
+ case GEOMOp::OpEdgeWidth: // POPUP MENU - LINE WIDTH - EDGE WIDTH
+ case GEOMOp::OpIsosWidth: // POPUP MENU - LINE WIDTH - ISOS WIDTH
+ libName = "GEOMToolsGUI";
+ break;
+ case GEOMOp::OpDisplayMode: // MENU VIEW - WIREFRAME/SHADING
+ case GEOMOp::OpShowAll: // MENU VIEW - SHOW ALL
+ case GEOMOp::OpShowOnly: // MENU VIEW - DISPLAY ONLY
+ case GEOMOp::OpHideAll: // MENU VIEW - ERASE ALL
+ case GEOMOp::OpHide: // MENU VIEW - ERASE
+ case GEOMOp::OpShow: // MENU VIEW - DISPLAY
+ case GEOMOp::OpSwitchVectors: // MENU VIEW - VECTOR MODE
+ case GEOMOp::OpWireframe: // POPUP MENU - WIREFRAME
+ case GEOMOp::OpShading: // POPUP MENU - SHADING
+ case GEOMOp::OpShadingWithEdges: // POPUP MENU - SHADING WITH EDGES
+ case GEOMOp::OpTexture: // POPUP MENU - TEXTURE
+ case GEOMOp::OpVectors: // POPUP MENU - VECTORS
+ libName = "DisplayGUI";
+ break;
+ case GEOMOp::OpPoint: // MENU BASIC - POINT
+ case GEOMOp::OpLine: // MENU BASIC - LINE
+ case GEOMOp::OpCircle: // MENU BASIC - CIRCLE
+ case GEOMOp::OpEllipse: // MENU BASIC - ELLIPSE
+ case GEOMOp::OpArc: // MENU BASIC - ARC
+ case GEOMOp::OpVector: // MENU BASIC - VECTOR
+ case GEOMOp::OpPlane: // MENU BASIC - PLANE
+ case GEOMOp::OpCurve: // MENU BASIC - CURVE
+ case GEOMOp::OpLCS: // MENU BASIC - LOCAL COORDINATE SYSTEM
+ libName = "BasicGUI";
+ break;
+ case GEOMOp::OpBox: // MENU PRIMITIVE - BOX
+ case GEOMOp::OpCylinder: // MENU PRIMITIVE - CYLINDER
+ case GEOMOp::OpSphere: // MENU PRIMITIVE - SPHERE
+ case GEOMOp::OpTorus: // MENU PRIMITIVE - TORUS
+ case GEOMOp::OpCone: // MENU PRIMITIVE - CONE
+ case GEOMOp::OpRectangle: // MENU PRIMITIVE - FACE
+ case GEOMOp::OpDisk: // MENU PRIMITIVE - DISK
+ libName = "PrimitiveGUI";
+ break;
+ case GEOMOp::OpPrism: // MENU GENERATION - PRISM
+ case GEOMOp::OpRevolution: // MENU GENERATION - REVOLUTION
+ case GEOMOp::OpFilling: // MENU GENERATION - FILLING
+ case GEOMOp::OpPipe: // MENU GENERATION - PIPE
+ libName = "GenerationGUI";
+ break;
+ case GEOMOp::Op2dSketcher: // MENU ENTITY - SKETCHER
+ case GEOMOp::Op3dSketcher: // MENU ENTITY - 3D SKETCHER
+ case GEOMOp::OpExplode: // MENU ENTITY - EXPLODE
+#ifdef WITH_OPENCV
+ case GEOMOp::OpFeatureDetect: // MENU ENTITY - FEATURE DETECTION