VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
vrfArtPartRequestor.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2019 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
8 
11 
12 #pragma once
13 
14 
15 #include <vrfGuiCore/vrfGuiCore.h>
17 #include <vrfutil/rwUUID.h>
18 #include <vrvCore/DtUniqueID.h>
19 
21 
23 #include <vlpi/disEnums.h>
24 
25 #include <vector>
26 
27 namespace makVrv
28 {
29  ;
30  class DtDe;
31  class DtSimObjectEntry;
32 }
33 
34 class DtVrfObjectMessage;
35 
36 namespace makVrf
37 {
39  {
40  DtArtParamCurrMinAndMax() : curr(0), min(0), max(0) {};
41  DtArtParamCurrMinAndMax(double c, double m, double x) : curr(c), min(m), max(x) {};
42 
43  double curr;
44  double min;
45  double max;
46  };
47 
48  typedef std::map<DtArtParamType, DtArtParamCurrMinAndMax> DtArtParamCurrMinAndMaxMap;
49  typedef std::map<DtArtPartType, DtArtParamCurrMinAndMaxMap> DtArtPartCurrMinAndMaxMap;
50  typedef std::map<DtUUID, DtArtPartCurrMinAndMaxMap> DtArtPartCurrMinAndMaxByUuid;
51 
54  {
55  public:
57  virtual ~DtVrfArtPartRequestor() override;
58 
60  static DtVrfArtPartRequestor& instance(makVrv::DtDe& de);
61 
62  virtual void updateAvailableArtParts(makVrv::DtUniqueID);
63  virtual void updateAvailableArtParts(const DtUUID&);
64 
65  const DtArtPartCurrMinAndMaxMap& artPartsFor(makVrv::DtUniqueID) const;
66  const DtArtPartCurrMinAndMaxMap& artPartsFor(const DtUUID&) const;
67 
68  boost::signals2::signal<void (const DtUUID&)> signal_artPartsReceived;
69 
70  virtual bool hasArtPartsFor(makVrv::DtUniqueID) const;
71  virtual bool hasArtPartsFor(const DtUUID&) const;
72 
73  protected:
74 
75  virtual void processAvailableArtParts(const DtVrfObjectMessage* msg);
76 
77  virtual void slot_onSimDataRemoved(DtSimObjectReference);
78 
79  protected:
80 
84  };
85 }
UUID is a unique ID wrapper class.
Definition: uuid.h:59
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
double curr
Definition: vrfArtPartRequestor.h:41
DtArtPartCurrMinAndMaxByUuid myArtPartTable
Definition: vrfArtPartRequestor.h:82
The class that is the interface between the GUI and the back-end.
Definition: vrfArtPartRequestor.h:53
Contains the DtUUID class declaration.
#define DT_DLL_VRFGUICORE
Contains DLL export macros.
Definition: vrfGuiCore.h:25
double max
Definition: vrfArtPartRequestor.h:45
std::map< DtUUID, DtArtPartCurrMinAndMaxMap > DtArtPartCurrMinAndMaxByUuid
Definition: vrfArtPartRequestor.h:50
Contains makVrv::DtVirtualBaseClass class.
double min
Definition: vrfArtPartRequestor.h:44
makVrv::DtSignalConnectionManager myConnections
Definition: vrfArtPartRequestor.h:83
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
The base class for all messages to/from a specific DtVrfObject. Various subclasses of this class will...
Definition: vrfObjectMessage.h:30
unsigned long long DtUniqueID
Definition: DtUniqueID.h:19
DtArtParamCurrMinAndMax()
Definition: vrfArtPartRequestor.h:40
std::map< DtArtParamType, DtArtParamCurrMinAndMax > DtArtParamCurrMinAndMaxMap
Definition: vrfArtPartRequestor.h:48
Base class to provide boost signal/slot management.
std::map< DtArtPartType, DtArtParamCurrMinAndMaxMap > DtArtPartCurrMinAndMaxMap
Definition: vrfArtPartRequestor.h:49
Contains makVrv::DtUniqueID type.
The DtDe is the core component of any VR-Vantage application. It owns a DtRenderer, DtDeCommunicator, as well as a DtDisplay and other things.
Definition: DtDe.h:76
Definition: vrfArtPartRequestor.h:38
makVrv::DtDe & myDe
Definition: vrfArtPartRequestor.h:81
boost::signals2::signal< void(const DtUUID &)> signal_artPartsReceived
Definition: vrfArtPartRequestor.h:68

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)