VR-Forces 4.0.4 Class Documentation
include/vrvCore/DtAttachManager.h
Go to the documentation of this file.
00001 /******************************************************************************
00002 ** Copyright (c) 2008 MAK Technologies, Inc.
00003 ** All rights reserved.
00004 ******************************************************************************/
00005 /******************************************************************************
00006 ** $RCSfile: DtAttachManager.h,v $ $Revision: 1.22 $ $State: Exp $
00007 ******************************************************************************/
00008 
00012 
00013 #pragma once
00014 
00015 #include <vrvCore/vrvCore.h>
00016 #include <vrvCore/DtUniqueID.h>
00017 #include <vrvUtil/DtVirtualBaseClass.h>
00018 #include <vrvUtil/signalslib.h>
00019 #include <vrvCore/DtElementData.h>
00020 #include <vrvCore/DtElementEntry.h>
00021 #include <vrvCore/DtObserverObject.h>
00022 
00023 namespace makVrv
00024 {
00025    class DtDe;
00026    class DtDriverManager;
00027    class DtObserver;
00028    
00031    class DT_DLL_VRVCORE DtAttachManager : public DtVirtualBaseClass
00032    {
00033    public:
00034       
00036       typedef std::vector<DtElementEntry::ElementType> ElementTypeList;
00037       typedef std::vector<int> PartList;
00038       
00040       static DtAttachManager& instance(DtDe& de);
00041          
00043       ~DtAttachManager();     
00044       
00046       void setCurrentAttachableTypes( const ElementTypeList& currentFilterType );
00047 
00049       const ElementTypeList& currentAttachableTypes() const;
00050 
00053       void getAttachableParts(DtElementID id, PartList& outputPartList) const;     
00054       
00056       void toggleOrientToTargetConstraint( DtObserver* observer );
00057 
00058       //Emitted when an observer's hide model flag changed
00059       boost::signal< void (DtObserver*) > signal_hideModelChanged;
00060 
00061       //Emitted when an observer's attached to list changes
00062       boost::signal< void (DtObserver*) > signal_attachedToChanged;
00063       
00064       //Emitted when an observer's attach type changes
00065       boost::signal< void (DtObserver*) > signal_attachTypeChanged;
00066 
00067       //Emitted when an observer's attach part changes
00068       boost::signal< void (DtObserver*) > signal_attachPartChanged;
00069       
00070       boost::signal< void (const ElementTypeList&) > signal_currentFilterTypeChanged;
00071           
00072    protected:  
00074       DtAttachManager(DtDe& de);
00075       
00076       void slot_objectsRemoved(const DtElementData::UniqueIdList& removedList );        
00077 
00078    protected:    
00079       DtDe& myDe;
00080       ElementTypeList myCurrentFilterTypes;
00081    };
00082 
00083 }

Document ID: Generated on Fri Jun 29 16:33:32 EDT 2012 from SVN revision 116588
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)