- 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" );
-#endif
+ 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::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::OpPointMarker: // POPUP MENU - POINT MARKER
+ case GEOMOp::OpRename: // POPUP MENU - RENAME
+ 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::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
+ libName = "EntityGUI";
+ break;
+ case GEOMOp::OpEdge: // MENU BUILD - EDGE
+ case GEOMOp::OpWire: // MENU BUILD - WIRE
+ case GEOMOp::OpFace: // MENU BUILD - FACE
+ case GEOMOp::OpShell: // MENU BUILD - SHELL
+ case GEOMOp::OpSolid: // MENU BUILD - SOLID
+ case GEOMOp::OpCompound: // MENU BUILD - COMPUND
+ libName = "BuildGUI";
+ break;
+ case GEOMOp::OpFuse: // MENU BOOLEAN - FUSE
+ case GEOMOp::OpCommon: // MENU BOOLEAN - COMMON
+ case GEOMOp::OpCut: // MENU BOOLEAN - CUT
+ case GEOMOp::OpSection: // MENU BOOLEAN - SECTION
+ libName = "BooleanGUI";
+ break;
+ case GEOMOp::OpTranslate: // MENU TRANSFORMATION - TRANSLATION
+ case GEOMOp::OpRotate: // MENU TRANSFORMATION - ROTATION
+ case GEOMOp::OpChangeLoc: // MENU TRANSFORMATION - LOCATION
+ case GEOMOp::OpMirror: // MENU TRANSFORMATION - MIRROR
+ case GEOMOp::OpScale: // MENU TRANSFORMATION - SCALE
+ case GEOMOp::OpOffset: // MENU TRANSFORMATION - OFFSET
+ case GEOMOp::OpMultiTranslate: // MENU TRANSFORMATION - MULTI-TRANSLATION
+ case GEOMOp::OpMultiRotate: // MENU TRANSFORMATION - MULTI-ROTATION
+ case GEOMOp::OpReimport: // CONTEXT(POPUP) MENU - RELOAD_IMPORTED
+ libName = "TransformationGUI";
+ break;
+ case GEOMOp::OpPartition: // MENU OPERATION - PARTITION
+ case GEOMOp::OpArchimede: // MENU OPERATION - ARCHIMEDE
+ case GEOMOp::OpFillet3d: // MENU OPERATION - FILLET
+ case GEOMOp::OpChamfer: // MENU OPERATION - CHAMFER
+ case GEOMOp::OpClipping: // MENU OPERATION - CLIPPING RANGE
+ case GEOMOp::OpShapesOnShape: // MENU OPERATION - GET SHAPES ON SHAPE
+ case GEOMOp::OpFillet2d: // MENU OPERATION - FILLET 2D
+ case GEOMOp::OpFillet1d: // MENU OPERATION - FILLET 1D
+ case GEOMOp::OpSharedShapes: // MENU OPERATION - GET SHARED SHAPES
+ libName = "OperationGUI";
+ break;
+ case GEOMOp::OpSewing: // MENU REPAIR - SEWING
+ case GEOMOp::OpSuppressFaces: // MENU REPAIR - SUPPRESS FACES
+ case GEOMOp::OpSuppressHoles: // MENU REPAIR - SUPPRESS HOLE
+ case GEOMOp::OpShapeProcess: // MENU REPAIR - SHAPE PROCESSING
+ case GEOMOp::OpCloseContour: // MENU REPAIR - CLOSE CONTOUR
+ case GEOMOp::OpRemoveIntWires: // MENU REPAIR - REMOVE INTERNAL WIRES
+ case GEOMOp::OpAddPointOnEdge: // MENU REPAIR - ADD POINT ON EDGE
+ case GEOMOp::OpFreeBoundaries: // MENU MEASURE - FREE BOUNDARIES
+ case GEOMOp::OpFreeFaces: // MENU MEASURE - FREE FACES
+ case GEOMOp::OpOrientation: // MENU REPAIR - CHANGE ORIENTATION
+ case GEOMOp::OpGlueFaces: // MENU REPAIR - GLUE FACES
+ case GEOMOp::OpLimitTolerance: // MENU REPAIR - LIMIT TOLERANCE
+ case GEOMOp::OpRemoveExtraEdges: // MENU REPAIR - REMOVE EXTRA EDGES
+ libName = "RepairGUI";
+ break;
+ case GEOMOp::OpProperties: // MENU MEASURE - PROPERTIES
+ case GEOMOp::OpCenterMass: // MENU MEASURE - CDG
+ case GEOMOp::OpInertia: // MENU MEASURE - INERTIA
+ case GEOMOp::OpNormale: // MENU MEASURE - NORMALE
+ case GEOMOp::OpBoundingBox: // MENU MEASURE - BOUNDING BOX
+ case GEOMOp::OpMinDistance: // MENU MEASURE - MIN DISTANCE
+ case GEOMOp::OpAngle: // MENU MEASURE - ANGLE
+ case GEOMOp::OpTolerance: // MENU MEASURE - TOLERANCE
+ case GEOMOp::OpWhatIs: // MENU MEASURE - WHATIS
+ case GEOMOp::OpCheckShape: // MENU MEASURE - CHECK
+ case GEOMOp::OpCheckCompound: // MENU MEASURE - CHECK COMPOUND OF BLOCKS
+ case GEOMOp::OpPointCoordinates: // MENU MEASURE - POINT COORDINATES
+ libName = "MeasureGUI";
+ break;
+ case GEOMOp::OpGroupCreate: // MENU GROUP - CREATE
+ case GEOMOp::OpGroupCreatePopup: // POPUP MENU - CREATE GROUP
+ case GEOMOp::OpGroupEdit: // MENU GROUP - EDIT
+ libName = "GroupGUI";
+ break;
+ case GEOMOp::OpHexaSolid: // MENU BLOCKS - HEXAHEDRAL SOLID
+ case GEOMOp::OpMultiTransform: // MENU BLOCKS - MULTI-TRANSFORMATION
+ case GEOMOp::OpQuadFace: // MENU BLOCKS - QUADRANGLE FACE
+ case GEOMOp::OpPropagate: // MENU BLOCKS - PROPAGATE
+ case GEOMOp::OpExplodeBlock: // MENU BLOCKS - EXPLODE ON BLOCKS
+ libName = "BlocksGUI";
+ break;
+ case GEOMOp::OpAdvancedNoOp: // NO OPERATION (advanced operations base)
+ case GEOMOp::OpPipeTShape: // MENU NEW ENTITY - ADVANCED - PIPE TSHAPE
+// case GEOMOp::OpPipeTShapeGroups: // MENU NEW ENTITY - ADVANCED - PIPE TSHAPE GROUPS
+ //@@ insert new functions before this line @@ do not remove this line @@ do not remove this line @@ do not remove this line @@ do not remove this line @@//
+ libName = "AdvancedGUI";
+ break;
+ default:
+ break;