VR-Forces 4.0.4 Class Documentation
examples/exampleRangeLine/DtRangeLineDriver.h
Go to the documentation of this file.
00001 /******************************************************************************
00002 ** Copyright (c) 2008 MAK Technologies, Inc.
00003 ** All rights reserved.
00004 ******************************************************************************/
00005 /******************************************************************************
00006 ** $RCSfile: DtRangeLineDriver.h,v $ $Revision: 1.8 $ $State: Exp $
00007 ******************************************************************************/
00008 
00012 
00013 #pragma once
00014 #include "DtRangeLineElement.h"
00015 #include "DtRangeLineStateListener.h"
00016 
00017 #include <vrvCore/DtElementDefinitionManager.h>
00018 #include <vrvCore/DtElementEntry.h>
00019 #include <vrvCore/DtIntervisibilityDriver.h>
00020 #include <vrvCore/DtSelectionManager.h>
00021 #include <vrvCore/DtUniqueID.h>
00022 #include <vrvCore/vrvCore.h>
00023 #include <vrvUtil/DtSignalConnectionManager.h>
00024 #include <vrvUtil/DtVirtualBaseClass.h>
00025 
00026 #include <boost/signals.hpp>
00027 #include <boost/unordered_map.hpp>
00028 
00029 class DtVector;
00030 
00031 namespace makVrv
00032 {
00033    class DtDe;
00034    class DtBasicEditingEventProcessor;
00035    class DtUnicode;
00036    class DtIntervisibilityStateListener;
00037    class DtElementDefinitionManager;
00038 }
00039 
00040 namespace exampleRangeLine
00041 {
00042    class DtRangeLineElement;
00043    class DtRangeLineStateListener;
00044 
00049    class DtRangeLineDriver : public makVrv::DtIntervisibilityDriver
00050    {
00051    public:
00052 
00054       DtRangeLineDriver(makVrv::DtDe&);
00055 
00057       virtual ~DtRangeLineDriver();
00058 
00060       virtual DtRangeLineElement* create(const DtVector& start, 
00061          const DtVector& end);
00062 
00064       virtual void create(const AttachPoints& ap = AttachPoints());
00065 
00066    protected:
00068       virtual makVrv::DtBasicEditingEventProcessor* createEventProcessor() const;
00069 
00071       virtual makVrv::DtIntervisibilityStateListener* createListener(
00072          const std::string& definition) const;
00073 
00075       virtual makVrv::DtIntervisibilityElement* createElement(
00076          makVrv::DtIntervisibilityStateListener*,
00077          const makVrv::DtUnicode& definition) const;
00078 
00081       virtual bool isAttachableObjectType(
00082          makVrv::DtElementEntry::ObjectType t) const;
00083       virtual bool isAttachableObjectType(makVrv::DtUniqueID id) const;
00084 
00085       virtual void slot_place(makVrv::DtUniqueID attachTo, DtVector v, 
00086          double altAboveGround);
00087 
00088       virtual void completeSetup();
00089 
00090       void installElementDefinitions(
00091          makVrv::DtElementDefinitionManager& manager);
00092       void createVisualizerDefinitions(
00093          makVrv::DtElementDefinitionManager& manager, int modelSet);      
00094 
00095    };
00096 }
00097 

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)