VR-Forces Development_Version Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
boundingVolumeSupportPointCalculator.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2013 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
11 
12 #pragma once
13 
14 #include <vrfGuiCore/vrfGuiCore.h>
15 
16 #include <matrix/vlVector.h>
17 #include <map>
18 
19 class DtEntityType;
20 class Dt3dBoundingVolume;
21 
22 namespace makVrv
23 {
24  class DtDe;
25  class DtSceneObject;
26  class DtOsgExtrudedPolygonModel;
27 }
28 
29 namespace osg
30 {
31  class Node;
32 }
33 
34 namespace makVrf
35 {
42  {
43  public:
44  enum Framework
45  {
46  NoFramework = 0,
47  AllModels = 1,
48  DiGuyOnly = 2,
49  ArticulatedOnly = 3
50  };
51 
53  struct LRInfo
54  {
55  double distance;
59  bool hasOther;
60  };
61 
63  typedef std::map<double, LRInfo> LeftRightCalcs;
64 
65  typedef std::map<double, std::vector<DtVector> > PointsByHeight;
66 
67  public:
70 
73 
78  //
86  virtual bool calculateSupportPointsAndBoundingVolume(const DtEntityType&, makVrv::DtSceneObject*,
87  DtVector& left, DtVector& right, DtVector& other, Dt3dBoundingVolume&, const Framework&);
88 
89  protected:
91  virtual osg::Node* rootNodeFromSceneObject(makVrv::DtSceneObject*, bool& isDiGuy) const;
92 
93  virtual void calculatePossibleLeftRightPointsFromModel(const PointsByHeight&, const Dt3dBoundingVolume& bv,
94  LeftRightCalcs&) const;
95 
96  protected:
99  };
100 }
101 

Document ID: Generated on Tue Mar 8 22:13:38 EST 2016 from SVN revision 162938
Copyright © 2005-2015 VT MÄK. All Rights Reserved (www.mak.com)