VR-Forces 4.0.4 Class Documentation
include/vrvCore/DtCylinderStateVisualizer.h
Go to the documentation of this file.
00001 /*********************************************************************
00002 ** Copyright (c) 2010 MaK Technologies, Inc.
00003 ** All rights reserved.
00004 *********************************************************************/
00005 /*********************************************************************
00006 ** $RCSfile: DtCylinderStateVisualizer.h,v $ $Revision: 1.1 $ $State: Exp $
00007 *********************************************************************/
00011 
00012 #pragma once
00013 #include <vrvCore/vrvCore.h>
00014 #include <vrvCore/DtRemoteGraphicVisualizerAttributes.h>
00015 #include <vrvCore/DtSceneObjectVisualizer.h>
00016 #include <vrvCore/DtCylinderStateListener.h>
00017 #include <vrvCore/DtVisibilityAdapter.h>
00018 
00019 class DtVector;
00020 class DtTaitBryan;
00021 
00022 namespace makVrv
00023 {
00024    class DtCylinderModelAgent;
00025    class DtArticulatingCylinderModelAgent;
00026    class DtAttachableDeadReckonUpdaterAgent;
00027    class DtAttachableUpdaterAgent;
00028 
00032    class DT_DLL_VRVCORE DtCylinderStateVisualizer :
00033       public DtSceneObjectVisualizer,
00034       public DtRemoteGraphicVisualizerAttributes
00035    {
00036    public:
00038       DtCylinderStateVisualizer(DtBaseConnection& simulation, 
00039          DtStateListener& listener, int modelSet);
00040 
00042       virtual ~DtCylinderStateVisualizer();
00043 
00045       virtual void setDiameters(double length, double width, double height);
00046 
00048       virtual void setColor(float r,float g,float b,float a);
00049 
00051       virtual void setFlashing(bool flashing);
00052 
00054       virtual void setStartLocation(const DtVector& pos);
00055 
00057       virtual void setEndLocation(const DtVector& endpoint);
00058 
00061       virtual void setOrientation(const DtTaitBryan& orientation);
00062 
00068       virtual void setAttached(DtUniqueID id, int vtx, double percentage);
00069 
00071       virtual void setHostId(const std::string& id, int vtx, double percentage);
00072 
00074       virtual void setOffset(const DtVector& offset);
00075 
00078       virtual void setCylinderType(
00079          DtCylinderStateListener::DtCylinderType cylinderType);
00080 
00082       virtual const DtStateVisualizer::TypeInfo& typeInfo() const;
00083 
00085       static const DtStateVisualizer::TypeInfo& theTypeInfo();
00086 
00087    protected:
00088       virtual void setVisible(bool yesNo);
00089 
00090       virtual void createModelAgents();
00091 
00092       virtual void destroyModelAgents();
00093 
00094       virtual void setModelDefinitionForAgents();
00095 
00096       virtual void setFixedAttached(DtUniqueID id, int vtx, double percentage);
00097 
00098       virtual void setArticulatedAttached(DtUniqueID id, int vtx, 
00099          double percentage);
00100 
00101    protected:
00102       DtCylinderModelAgent* myFixedCylinderModelAgent;
00103       DtVisibilityAdapter<DtCylinderModelAgent>* myFixedVisibilityAdapter;
00104 
00105       DtArticulatingCylinderModelAgent* myArticulatingCylinderModelAgent;
00106       DtVisibilityAdapter<DtArticulatingCylinderModelAgent>* 
00107          myArticulatingVisibilityAdapter;
00108       
00109       DtAttachableUpdaterAgent* myUpdaterAgent;
00110       DtAttachableDeadReckonUpdaterAgent* myDRUpdaterAgent;
00111       bool myVertex0Attached;
00112       bool myVertex1Attached;
00113    };
00114 
00115    typedef DtStateVisualizerCreatorTemplate<DtCylinderStateVisualizer>
00116       DtCylinderStateVisualizerCreator;
00117 }
00118 

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)