VR-Forces 4.8 Class Documentation
 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) 2008 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 /******************************************************************************
6 ** $RCSfile: DtAttachManager.h,v $ $Revision: 1.22 $ $State: Exp $
7 ******************************************************************************/
8 
12 
13 #pragma once
14 
15 #include <vrvCore/vrvCore.h>
16 #include <vrvCore/DtUniqueID.h>
18 #include <vrvCore/DtElementData.h>
20 
22 namespace makVrv
23 {
24  class DtDe;
25  class DtDriverManager;
26  class DtObserver;
27 
31  {
32  public:
33 
35  typedef std::vector<DtElementEntry::ElementType> ElementTypeList;
36  typedef std::vector<int> PartList;
37 
39  static DtAttachManager& instance(DtDe& de);
40 
42  virtual ~DtAttachManager();
43 
45  void setCurrentAttachableTypes( const ElementTypeList& currentFilterType );
46 
48  const ElementTypeList& currentAttachableTypes() const;
49 
52  void getAttachableParts(DtElementID id, PartList& outputPartList) const;
53 
55  void toggleOrientToTargetConstraint( DtObserver* observer );
56 
57  //Emitted when an observer's hide model flag changed
58  boost::signal< void (DtObserver*) > signal_hideModelChanged;
59 
60  //Emitted when an observer's attached to list changes
61  boost::signal< void (DtObserver*) > signal_attachedToChanged;
62 
63  //Emitted when an observer's attach type changes
64  boost::signal< void (DtObserver*) > signal_attachTypeChanged;
65 
66  //Emitted when an observer's attach part changes
67  boost::signal< void (DtObserver*) > signal_attachPartChanged;
68 
69  boost::signal< void (const ElementTypeList&) > signal_currentFilterTypeChanged;
70 
71  protected:
73  DtAttachManager(DtDe& de);
74 
75  void slot_objectsRemoved(const DtElementData::UniqueIdList& removedList );
76 
77  void slot_terrainClosed();
78 
79  protected:
83  };
84 
85 }
ElementTypeList myCurrentFilterTypes
Definition: DtAttachManager.h:81
Virtual base class.
Definition: DtVirtualBaseClass.h:22
boost::signal< void(DtObserver *) > signal_attachPartChanged
Definition: DtAttachManager.h:67
DtDe & myDe
Definition: DtAttachManager.h:80
std::vector< int > PartList
Definition: DtAttachManager.h:36
boost::signal< void(const ElementTypeList &) > signal_currentFilterTypeChanged
Definition: DtAttachManager.h:69
Contains makVrv::DtElementData class.
DtUniqueID DtElementID
The ElementID is a specific type of unique ID used to represent VR-Vantage uniquely defined elements...
Definition: DtUniqueID.h:26
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
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:24
boost::signal< void(DtObserver *) > signal_attachTypeChanged
Definition: DtAttachManager.h:64
Base class to provide boost signal/slot management.
std::vector< DtElementID > UniqueIdList
Definition: DtElementData.h:48
DtSignalConnectionManager myConnections
Definition: DtAttachManager.h:82
boost::signal< void(DtObserver *) > signal_hideModelChanged
Definition: DtAttachManager.h:58
Contains makVrv::DtUniqueID type.
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
The master window of the scene.
Definition: DtAttachManager.h:30
std::vector< DtElementEntry::ElementType > ElementTypeList
An Attach Manager Filter is a list of DtElementEntry::ElementType.
Definition: DtAttachManager.h:35
boost::signal< void(DtObserver *) > signal_attachedToChanged
Definition: DtAttachManager.h:61
Contains DLL export macros.

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)