VR-Exchange 2.10 API Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
pInteractionViewComponent.h
Go to the documentation of this file.
1 /****************************************************************************
2  * Copyright (c) 2016 MAK Technologies, Inc.
3  * All rights reserved.
4  ****************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <portalApp/dllExport.h>
13 #include <portal/pMessageKinds.h>
14 
15 #include <vlutil/vlString.h>
16 #include <vlutil/vlTime.h>
17 
18 #include <QtCore/QObject>
19 #include <QtCore/QPoint>
20 #include <QTreeWidget>
21 #include <QGroupBox>
22 
23 #include <vector>
24 #include <list>
25 #include <map>
26 
27 class QMenu;
28 class QTimer;
29 class QHeaderView;
30 
31 namespace MAKVrExchange
32 {
33 
34  class DtPortalAppGui;
35  class DtPortalConnection;
36  class DtPortalInteraction;
37  class DtColumnSelectionContextMenu;
38 
39  // Standard interactions:
40  class DtPortalFireInteraction;
41  class DtPortalGenericInteraction;
42  class DtPortalDetonationInteraction;
43  class DtPortalAcknowledgeInteraction;
44  class DtPortalCollisionInteraction;
45  class DtPortalCommentInteraction;
46  class DtPortalEventReportInteraction;
47  class DtPortalStartInteraction;
48  class DtPortalStopInteraction;
49  class DtPortalRadioSignalInteraction;
50  class DtPortalDataInteraction;
51  class DtPortalDataQueryInteraction;
52  class DtPortalSetDataInteraction;
53  class DtPortalCreateEntityInteraction;
54  class DtPortalRemoveEntityInteraction;
55  class DtPortalActionRequestInteraction;
56  class DtPortalActionResponseInteraction;
57  class DtPortalViewControlInteraction;
58  class DtPortalDamageAssessmentInteraction;
59 
60  // Logger Control interactions:
61  class DtPortalLoggerConnectInteraction;
62  class DtPortalLoggerDeleteFileInteraction;
63  class DtPortalLoggerEmptyInteraction;
64  class DtPortalLoggerEndInteraction;
65  class DtPortalLoggerEndOfActionInteraction;
66  class DtPortalLoggerHeartbeatInteraction;
67  class DtPortalLoggerPauseInteraction;
68  class DtPortalLoggerPlayActionInteraction;
69  class DtPortalLoggerPlayFileInteraction;
70  class DtPortalLoggerPlayInteraction;
71  class DtPortalLoggerQuitInteraction;
72  class DtPortalLoggerRecordActionInteraction;
73  class DtPortalLoggerRecordFileInteraction;
74  class DtPortalLoggerRecordInteraction;
75  class DtPortalLoggerSetTimeInteraction;
76  class DtPortalLoggerSkipTimeInteraction;
77  class DtPortalLoggerStartInteraction;
78  class DtPortalLoggerStateFlagInteraction;
79  class DtPortalLoggerStopInteraction;
80  class DtPortalLoggerTimeoutInteraction;
81  class DtPortalLoggerTimeScaleInteraction;
82  class DtPortalLoggerTotalStateInteraction;
83 
84  // VR-Forces interactions:
85  class DtPortalVrfChangeGlobalWeatherCommandInteraction;
86  class DtPortalVrfChangeTimeOfDayCommandInteraction;
87  class DtPortalVrfControlInteraction;
88  class DtPortalVrfCreateObjInteraction;
89  class DtPortalVrfCurrentResourceRequestInteraction;
90  class DtPortalVrfCurrentTasksInteraction;
91  class DtPortalVrfDeleteObjInteraction;
92  class DtPortalVrfEntityResourceResponseInteraction;
93  class DtPortalVrfResourceMonitorResponseInteraction;
94  class DtPortalVrfScenarioInteraction;
95  class DtPortalVrfScriptedTaskInteraction;
96  class DtPortalVrfTaskInteraction;
97  class DtPortalVrfSetDataInteraction;
98  class DtPortalVrfSkipTaskInteraction;
99  class DtPortalVrfSpotReportInteraction;
100  class DtPortalVrfStopSpotReportInteraction;
101  class DtPortalVrfTextReportInteraction;
102 
103  // VR-Vantage interactions:
104  class DtPortalVrvDynamicOceanInteraction;
105  class DtPortalVrvFollowViewInteraction;
106  class DtPortalVrvInputEventInteraction;
107  class DtPortalVrvKeyPressInteraction;
108  class DtPortalVrvMimicTrackViewInteraction;
109  class DtPortalVrvMimicViewInteraction;
110  class DtPortalVrvModelScaleFactorInteraction;
111  class DtPortalVrvModelScalingInteraction;
112  class DtPortalVrvModelSetInteraction;
113  class DtPortalVrvMouseEventInteraction;
114  class DtPortalVrvObserverModeInteraction;
115  class DtPortalVrvSensorModeInteraction;
116  class DtPortalVrvSetSystemStateInteraction;
117  class DtPortalVrvTetherViewInteraction;
118  class DtPortalVrvTimingSignalInteraction;
119  class DtPortalVrvTrackHistoriesInteraction;
120  class DtPortalVrvUseSavedViewInteraction;
121  class DtPortalVrvViewMagnificationInteraction;
122 
123 
129  { Q_OBJECT;
130  public:
131 
133  enum
134  {
135  TranslatorField = 0,
136  PublisherField = 1,
137  TimeReceivedField = 2,
138  DescriptionField = 3
139  };
140 
141  protected:
142 
143  typedef std::list<QTreeWidgetItem*> QTreeWidgetItemList;
144  typedef std::map<DtPortalMessageKind,DtU32> MessageKindToIntegerMap;
145  typedef std::map<DtPortalMessageKind,QTreeWidgetItem*> MessageKindToListViewItemMap;
146  typedef std::map<DtPortalMessageKind,QTreeWidgetItemList*> MessageKindToListViewItemListMap;
147 
148  public:
149 
151  static DtInteractionViewComponent* create( DtPortalConnection* pConn,
152  QWidget* parent );
153 
155  virtual ~DtInteractionViewComponent();
156 
158  virtual void clearInteractionList();
159 
161  virtual void resetStatistics();
162 
165  virtual void setMaxInteractionsToDisplay( int val );
166 
168  virtual void processInteraction( const DtPortalInteraction& inter,
169  const DtString& description );
170 
172  virtual void toggleShowInteractions( bool show );
173 
176  virtual const QTreeWidget* treeWidget() const;
177 
180  virtual QTreeWidget* treeWidget();
181 
182  protected slots:
183 
186  virtual void displayStatistics();
187 
188  protected:
189 
192 
195  virtual void initialize();
196 
198  virtual void setupGui();
199 
201  virtual void initStatistics();
202 
204  virtual void registerCallbacks();
205 
207  virtual void removeCallbacks();
208 
212  virtual void resizeEvent( QResizeEvent* event );
213 
224  bool eventFilter( QObject* target, QEvent* event );
225 
227  virtual void interactionHeaderRightButtonPressedCb( const QPoint& point );
228 
230  virtual void interactionRightButtonPressedCb( const QPoint& point );
231 
234  virtual void truncateList( QTreeWidgetItemList* lst );
235 
237  virtual QTreeWidgetItem* findQtGroupItem( const DtPortalInteraction& inter );
238  virtual QTreeWidgetItemList* findQtGroupList( const DtPortalInteraction& inter );
239 
241  virtual QString headerLabel( const QHeaderView* header, int section );
242 
243  protected:
244 
245  // Standard interaction callbacks:
246  static void fireCb( const DtPortalFireInteraction& inter, void* usr );
247  static void genericCb( const DtPortalGenericInteraction& inter, void* usr );
248  static void detonationCb( const DtPortalDetonationInteraction& inter, void* usr );
249  static void acknowledgeCb( const DtPortalAcknowledgeInteraction& interaction, void* usr );
250  static void collisionCb( const DtPortalCollisionInteraction& interaction, void* usr );
251  static void commentCb( const DtPortalCommentInteraction& interaction, void* usr );
252  static void eventReportCb( const DtPortalEventReportInteraction& interaction, void* usr );
253  static void startCb( const DtPortalStartInteraction& interaction, void* usr );
254  static void stopCb( const DtPortalStopInteraction& interaction, void* usr );
255  static void radioSignalCb( const DtPortalRadioSignalInteraction& interaction, void* usr );
256  static void dataCb( const DtPortalDataInteraction& interaction, void* usr );
257  static void dataQueryCb( const DtPortalDataQueryInteraction& interaction, void* usr );
258  static void setDataCb( const DtPortalSetDataInteraction& interaction, void* usr );
259  static void createEntityCb( const DtPortalCreateEntityInteraction& interaction, void* usr );
260  static void removeEntityCb( const DtPortalRemoveEntityInteraction& interaction, void* usr );
261  static void actionRequestCb( const DtPortalActionRequestInteraction& interaction, void* usr );
262  static void actionResponseCb( const DtPortalActionResponseInteraction& interaction, void* usr );
263  static void viewControlCb( const DtPortalViewControlInteraction& interaction, void* usr );
264  static void damageAssessmentCb(const DtPortalDamageAssessmentInteraction& inter, void* usr );
265 
266  // Logger Control interaction callbacks:
267  static void loggerConnectCb(const DtPortalLoggerConnectInteraction& interaction, void* usr);
268  static void loggerDeleteCb( const DtPortalLoggerDeleteFileInteraction& interaction, void* usr );
269  static void loggerEmptyCb( const DtPortalLoggerEmptyInteraction& interaction, void* usr );
270  static void loggerEndCb( const DtPortalLoggerEndInteraction& interaction, void* usr );
271  static void loggerEndOfActionCb( const DtPortalLoggerEndOfActionInteraction& interaction, void* usr );
272  static void loggerHeartbeatCb( const DtPortalLoggerHeartbeatInteraction& interaction, void* usr );
273  static void loggerPauseCb( const DtPortalLoggerPauseInteraction& interaction, void* usr );
274  static void loggerPlayActionCb( const DtPortalLoggerPlayActionInteraction& interaction, void* usr );
275  static void loggerPlayFileCb( const DtPortalLoggerPlayFileInteraction& interaction, void* usr );
276  static void loggerPlayCb( const DtPortalLoggerPlayInteraction& interaction, void* usr );
277  static void loggerQuitCb( const DtPortalLoggerQuitInteraction& interaction, void* usr );
278  static void loggerRecordActionCb( const DtPortalLoggerRecordActionInteraction& interaction, void* usr );
279  static void loggerRecordFileCb( const DtPortalLoggerRecordFileInteraction& interaction, void* usr );
280  static void loggerRecordCb( const DtPortalLoggerRecordInteraction& interaction, void* usr );
281  static void loggerSetTimeCb( const DtPortalLoggerSetTimeInteraction& interaction, void* usr );
282  static void loggerSkipTimeCb( const DtPortalLoggerSkipTimeInteraction& interaction, void* usr );
283  static void loggerStartCb( const DtPortalLoggerStartInteraction& interaction, void* usr );
284  static void loggerStateFlagCb( const DtPortalLoggerStateFlagInteraction& interaction, void* usr );
285  static void loggerStopCb( const DtPortalLoggerStopInteraction& interaction, void* usr );
286  static void loggerTimeoutCb( const DtPortalLoggerTimeoutInteraction& interaction, void* usr );
287  static void loggerTimeScaleCb( const DtPortalLoggerTimeScaleInteraction& interaction, void* usr );
288  static void loggerTotalStateCb( const DtPortalLoggerTotalStateInteraction& interaction, void* usr );
289 
290  // VR-Forces interaction callbacks:
291  static void vrfChangeGlobalWeatherCb( const DtPortalVrfChangeGlobalWeatherCommandInteraction& interaction, void* usr );
292  static void vrfChangeTimeOfDayCb( const DtPortalVrfChangeTimeOfDayCommandInteraction& interaction, void* usr );
293  static void vrfControlInteractionCb( const DtPortalVrfControlInteraction& interaction, void* usr );
294  static void vrfCreateObjCb( const DtPortalVrfCreateObjInteraction& interaction, void* usr );
295  static void vrfCurrentResourceRequestCb( const DtPortalVrfCurrentResourceRequestInteraction& interaction, void* usr );
296  static void vrfCurrentTasksCb( const DtPortalVrfCurrentTasksInteraction& interaction, void* usr );
297  static void vrfDeleteObjCb( const DtPortalVrfDeleteObjInteraction& interaction, void* usr );
298  static void vrfEntityResourceResponseCb( const DtPortalVrfEntityResourceResponseInteraction& interaction, void* usr );
299  static void vrfResourceMonitorResponseCb( const DtPortalVrfResourceMonitorResponseInteraction& interaction, void* usr );
300  static void vrfScenarioInteractionCb( const DtPortalVrfScenarioInteraction& interaction, void* usr );
301  static void vrfScriptedTaskCb(const DtPortalVrfScriptedTaskInteraction& interaction, void* usr);
302  static void vrfTaskCb(const DtPortalVrfTaskInteraction& interaction, void* usr);
303  static void vrfSetDataInteractionCb( const DtPortalVrfSetDataInteraction& interaction, void* usr );
304  static void vrfSkipTaskInteractionCb( const DtPortalVrfSkipTaskInteraction& interaction, void* usr );
305  static void vrfSpotReportInteractionCb( const DtPortalVrfSpotReportInteraction& interaction, void* usr );
306  static void vrfStopSpotReportInteractionCb(const DtPortalVrfStopSpotReportInteraction& interaction, void* usr );
307  static void vrfTextReportInteractionCb( const DtPortalVrfTextReportInteraction& interaction, void* usr );
308 
309  // VR-Vantage interaction callbacks:
310  static void vrvDynamicOceanCb( const DtPortalVrvDynamicOceanInteraction& interaction, void* usr );
311  static void vrvFollowViewCb( const DtPortalVrvFollowViewInteraction& interaction, void* usr );
312  static void vrvInputEventCb( const DtPortalVrvInputEventInteraction& interaction, void* usr );
313  static void vrvKeyPressCb( const DtPortalVrvKeyPressInteraction& interaction, void* usr );
314  static void vrvMimicTrackViewCb( const DtPortalVrvMimicTrackViewInteraction& interaction, void* usr );
315  static void vrvMimicViewCb( const DtPortalVrvMimicViewInteraction& interaction, void* usr );
316  static void vrvModelScaleFactorCb( const DtPortalVrvModelScaleFactorInteraction& interaction, void* usr );
317  static void vrvModelScalingCb( const DtPortalVrvModelScalingInteraction& interaction, void* usr );
318  static void vrvModelSetCb( const DtPortalVrvModelSetInteraction& interaction, void* usr );
319  static void vrvMouseEventCb( const DtPortalVrvMouseEventInteraction& interaction, void* usr );
320  static void vrvObserverModeCb( const DtPortalVrvObserverModeInteraction& interaction, void* usr );
321  static void vrvSensorModeCb( const DtPortalVrvSensorModeInteraction& interaction, void* usr );
322  static void vrvSetSystemStateCb( const DtPortalVrvSetSystemStateInteraction& interaction, void* usr );
323  static void vrvTetherViewCb( const DtPortalVrvTetherViewInteraction& interaction, void* usr );
324  static void vrvTimingSignalCb( const DtPortalVrvTimingSignalInteraction& interaction, void* usr );
325  static void vrvTrackHistoriesCb( const DtPortalVrvTrackHistoriesInteraction& interaction, void* usr );
326  static void vrvUseSavedViewCb( const DtPortalVrvUseSavedViewInteraction& interaction, void* usr );
327  static void vrvViewMagnificationCb( const DtPortalVrvViewMagnificationInteraction& interaction, void* usr );
328 
329  private:
330 
333 
335  DtInteractionViewComponent& operator = ( const DtInteractionViewComponent& orig );
336 
337  protected:
338 
339  enum
340  {
341  ClearInteractions = 1
342  } InteractionPopupMenuPosition;
343 
344  protected:
345 
349 
351 
356  QTreeWidget* myTreeWidget;
361  std::vector<int> myListViewColumnSize;
362 
363  };
364 
365 }
Represents a weapon create entity event.
Definition: pRemoveEntityInter.h:28
Represents a battle damage assessment event.
Definition: pDamageAssessmentInter.h:28
DtTime myInitialTime
Definition: pInteractionViewComponent.h:354
Portal Data Interaction class.
Definition: pDataInter.h:21
QAction * myCollapseAllAction
Definition: pInteractionViewComponent.h:360
Vrf Scenario Interaction class.
Definition: pVrfScenario.h:23
Represents a logger Heartbeat File event.
Definition: pLoggerHeartbeatInteraction.h:26
Represents a weapon createentity event.
Definition: pCreateEntityInter.h:28
Vrv Model Scaling Interaction class.
Definition: pVrvModelScaling.h:22
std::map< DtPortalMessageKind, QTreeWidgetItemList * > MessageKindToListViewItemListMap
Definition: pInteractionViewComponent.h:146
Represents a logger RecordAction event.
Definition: pLoggerRecordActionInteraction.h:26
Represents a logger Delete File event.
Definition: pLoggerDeleteFileInteraction.h:26
Vrf Current Tasks Interaction class.
Definition: pVrfCurrentTasks.h:22
A Interaction class to handle unknown HLA attributes.
Definition: pGenericInter.h:26
Represents a logger Timeout event.
Definition: pLoggerTimeoutInteraction.h:26
Portal Action Response Interaction class.
Definition: pActionResponseInter.h:21
Vrv KeyPress Interaction class.
Definition: pVrvKeyPress.h:22
std::map< DtPortalMessageKind, QTreeWidgetItem * > MessageKindToListViewItemMap
Definition: pInteractionViewComponent.h:145
Represents a weapon fire event.
Definition: pViewControlInter.h:117
Vrf Resource Monitor Response Interaction class.
Definition: pVrfResourceMonResponse.h:22
Vrv View Magnification Interaction class.
Definition: pVrvViewMagnification.h:21
Portal Comment Interaction class.
Definition: pCommentInter.h:21
MessageKindToListViewItemMap myListViewGroupMap
Definition: pInteractionViewComponent.h:346
Vrv Video Latency Signal interaction class.
Definition: pVrvTimingSignal.h:22
Vrv Dynamic Ocean Interaction class.
Definition: pVrvDynamicOcean.h:22
Responsible for the display of Interactions received from the Portal on the VR-Exchange GUI...
Definition: pInteractionViewComponent.h:128
Vrv InputEvent Interaction class.
Definition: pVrvInputEvent.h:23
Represents a logger RecordFile event.
Definition: pLoggerRecordFileInteraction.h:26
Portal Start Interaction class.
Definition: pStartInter.h:21
Vrv Model Set Interaction class.
Definition: pVrvModelSet.h:22
Vrv Model Scale Factor Interaction class.
Definition: pVrvModelScaleFactor.h:22
Represents a weapon fire event.
Definition: pFireInter.h:28
Represents a logger Stop File event.
Definition: pLoggerStopInteraction.h:26
Portal Stop Interaction class.
Definition: pStopInter.h:21
Represents a logger TimeScale event.
Definition: pLoggerTimeScaleInteraction.h:26
Represents a logger PlayFile event.
Definition: pLoggerPlayFileInteraction.h:26
DtPortalInteractions are a special type of DtPortalMessages which are used to transmit simulation dat...
Definition: pInteraction.h:21
Vrf Scripted Task Interaction class.
Definition: pVrfTask.h:22
std::list< QTreeWidgetItem * > QTreeWidgetItemList
Definition: pInteractionViewComponent.h:143
Vrv Mimic Track View Interaction class.
Definition: pVrvMimicTrackView.h:22
Portal Action Request Interaction class.
Definition: pActionRequestInter.h:21
Vrf Entity Resource Response Interaction class.
Definition: pVrfEntityResourceResponse.h:23
Vrv Track Histories Interaction class.
Definition: pVrvTrackHistories.h:22
Represents a logger StateFlag event.
Definition: pLoggerStateFlagInteraction.h:26
#define DT_DLL_LIBPORTALAPP
Definition: include/portalApp/dllExport.h:20
Vrf Text Report Interaction class.
Definition: pVrfTextReport.h:22
Represents a logger Start event.
Definition: pLoggerStartInteraction.h:26
Vrf Change Time Of Day Interaction class.
Definition: pVrfChangeTimeOfDayCommand.h:22
Represents a logger PlayAction event.
Definition: pLoggerPlayActionInteraction.h:26
Vrv Mimic View Interaction class.
Definition: pVrvUseSavedView.h:23
Represents a logger Record event.
Definition: pLoggerRecordInteraction.h:26
Vrf CreateObj Interaction class.
Definition: pVrfCreateObj.h:22
Represents a logger End event.
Definition: pLoggerEndInteraction.h:26
Portal Acknowledge Interaction class.
Definition: pAcknowledgeInter.h:21
Vrv Sensor Mode Interaction class.
Definition: pVrvSensorMode.h:22
bool myShowInteractionsFlag
Definition: pInteractionViewComponent.h:353
Portal Radio Signal Interaction class.
Definition: pRadioSignalInter.h:21
Portal Collision Interaction class.
Definition: pCollisionInter.h:21
Represents a logger Empty event.
Definition: pLoggerEmptyInteraction.h:26
Vrf Scripted Task Interaction class.
Definition: pVrfScriptedTask.h:22
Portal Event Report Interaction class.
Definition: pEventReportInter.h:21
Vrv Mimic View Interaction class.
Definition: pVrvMimicView.h:22
Represents a munition detonation event.
Definition: pDetonationInter.h:27
Represents a logger Play event.
Definition: pLoggerPlayInteraction.h:26
Represents a logger Quit event.
Definition: pLoggerQuitInteraction.h:26
Represents a logger SetTime event.
Definition: pLoggerSetTimeInteraction.h:26
QMenu * myInteractionPopupMenu
Definition: pInteractionViewComponent.h:358
Represents a logger EndOfAction event.
Definition: pLoggerEndOfActionInteraction.h:26
Represents a logger Pause event.
Definition: pLoggerPauseInteraction.h:26
Portal Start Interaction class.
Definition: pVrfSpotReport.h:21
Vrv Observer Mode Interaction class.
Definition: pVrvObserverMode.h:22
Vrv MouseEvent Interaction class.
Definition: pVrvMouseEvent.h:22
Represents a logger TotalState event.
Definition: pLoggerTotalStateInteraction.h:26
Vrf Set Data Interaction class.
Definition: pVrvSetSystemState.h:35
Vrf Current Resource Request Interaction class.
Definition: pVrfCurrentResourceReq.h:22
Represents a logger Connect event.
Definition: pLoggerConnectInteraction.h:26
Contains the DtPortalMessageKind type enumerations.
Vrf CreateObj Interaction class.
Definition: pVrfDeleteObj.h:22
Represents a logger SkipTime event.
Definition: pLoggerSkipTimeInteraction.h:26
Vrv Tether View Interaction class.
Definition: pVrvTetherView.h:22
Connects a broker to the Portal Data Exchange.
Definition: pConnection.h:49
Vrf Change Global Weather Command Interaction class.
Definition: pVrfChangeGlobalWeatherCommand.h:46
QTimer * myStatisticsTimer
Definition: pInteractionViewComponent.h:350
Menu for configuring the columns displayed in a QTreeWidget.
Definition: columnSelectionContextMenu.h:22
Portal Set Data Interaction class.
Definition: pSetDataInter.h:21
MessageKindToListViewItemListMap myListViewItemListMap
Definition: pInteractionViewComponent.h:348
std::vector< int > myListViewColumnSize
Definition: pInteractionViewComponent.h:361
MessageKindToIntegerMap myInteractionCountMap
Definition: pInteractionViewComponent.h:347
Vrv Follow View Interaction class.
Definition: pVrvFollowView.h:22
DtColumnSelectionContextMenu * myHeaderPopupMenu
Definition: pInteractionViewComponent.h:357
Vrf Set Data Interaction class.
Definition: pVrfSetData.h:21
Vrf CreateObj Interaction class.
Definition: pVrfSkipTask.h:22
int myMaxInteractionCount
Definition: pInteractionViewComponent.h:352
std::map< DtPortalMessageKind, DtU32 > MessageKindToIntegerMap
Definition: pInteractionViewComponent.h:144
QTreeWidget * myTreeWidget
Definition: pInteractionViewComponent.h:356
Vrf Control Interaction class.
Definition: pVrfControl.h:22
Portal Start Interaction class.
Definition: pVrfStopSpotReport.h:21
Portal Data Query Interaction class.
Definition: pDataQueryInter.h:21
DtPortalConnection * myPConn
Definition: pInteractionViewComponent.h:355
QAction * myExpandAllAction
Definition: pInteractionViewComponent.h:359

Document ID: Generated on Mon May 25 18:45:12 EDT 2026 from SVN revision 289111
Copyright © 2005-2026 MAK Technologies. All Rights Reserved (www.mak.com)