VR-Forces 5.0.2 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtAttachManager.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2020 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvCore/vrvCore.h>
13 #include <vrvCore/DtUniqueID.h>
15 #include <vrvCore/DtElementData.h>
17 
19 namespace makVrv
20 {
21  class DtDe;
22  class DtDriverManager;
23  class DtObserver;
24 
28  {
29  public:
30 
32  typedef std::vector<DtElementEntry::ElementType> ElementTypeList;
33  typedef std::vector<int> PartList;
34 
36  static DtAttachManager& instance(DtDe& de);
37 
39  virtual ~DtAttachManager();
40 
42  void setCurrentAttachableTypes( const ElementTypeList& currentFilterType );
43 
45  const ElementTypeList& currentAttachableTypes() const;
46 
49  void getAttachableParts(DtElementID id, PartList& outputPartList) const;
50 
52  void toggleOrientToTargetConstraint( DtObserver* observer );
53 
54  //Emitted when an observer's hide model flag changed
55  boost::signalslib::signal< void (DtObserver*) > signal_hideModelChanged;
56 
57  //Emitted when an observer's attached to list changes
58  boost::signalslib::signal< void (DtObserver*) > signal_attachedToChanged;
59 
60  //Emitted when an observer's attach type changes
61  boost::signalslib::signal< void (DtObserver*) > signal_attachTypeChanged;
62 
63  //Emitted when an observer's attach part changes
64  boost::signalslib::signal< void (DtObserver*) > signal_attachPartChanged;
65 
66  boost::signalslib::signal< void (const ElementTypeList&) > signal_currentFilterTypeChanged;
67 
68  protected:
70  DtAttachManager(DtDe& de);
71 
72  void slot_objectsRemoved(const DtElementData::UniqueIdList& removedList );
73 
74  void slot_terrainClosed();
75 
76  protected:
80  };
81 
82 }
ElementTypeList myCurrentFilterTypes
Definition: DtAttachManager.h:78
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
boost::signalslib::signal< void(DtObserver *) > signal_attachTypeChanged
Definition: DtAttachManager.h:61
DtDe & myDe
Definition: DtAttachManager.h:77
std::vector< int > PartList
Definition: DtAttachManager.h:33
Contains makVrv::DtElementData class.
A facade for a DtObserverObject.
Definition: DtObserver.h:37
Contains makVrv::DtVirtualBaseClass class.
Contains makVrv::DtObserverObject class.
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
boost::signalslib::signal< void(DtObserver *) > signal_hideModelChanged
Definition: DtAttachManager.h:55
boost::signalslib::signal< void(DtObserver *) > signal_attachedToChanged
Definition: DtAttachManager.h:58
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
Base class to provide boost signal/slot management.
std::vector< DtElementID > UniqueIdList
Public Type Definitions.
Definition: DtElementData.h:49
DtSignalConnectionManager myConnections
Definition: DtAttachManager.h:79
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:70
boost::signalslib::signal< void(const ElementTypeList &) > signal_currentFilterTypeChanged
Definition: DtAttachManager.h:66
The master window of the scene.
Definition: DtAttachManager.h:27
boost::signalslib::signal< void(DtObserver *) > signal_attachPartChanged
Definition: DtAttachManager.h:64
std::vector< DtElementEntry::ElementType > ElementTypeList
An Attach Manager Filter is a list of DtElementEntry::ElementType.
Definition: DtAttachManager.h:32
Contains DLL export macros.

Document ID: Generated on Sun Dec 4 20:22:03 EST 2022 from SVN revision 249613
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)