VR-Forces 4.10 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties 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 
Framework
Definition: boundingVolumeSupportPointCalculator.h:44
makVrv::DtDe & myDe
Definition: boundingVolumeSupportPointCalculator.h:98
OSG implementation of 3D Extruded Polygon.
Definition: DtOsgExtrudedPolygonModel.h:21
#define DT_DLL_VRFGUICORE
Contains DLL export macros.
Definition: vrfGuiCore.h:25
bool hasOther
Definition: boundingVolumeSupportPointCalculator.h:59
std::map< double, LRInfo > LeftRightCalcs
Information is by height of left/right points at the given object height.
Definition: boundingVolumeSupportPointCalculator.h:63
DtVector left
Definition: boundingVolumeSupportPointCalculator.h:56
DtVector right
Definition: boundingVolumeSupportPointCalculator.h:57
A DtSceneObject represents an object that can be positioned in the scene by (possibly) attaching it t...
Definition: DtSceneObject.h:41
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
double distance
Definition: boundingVolumeSupportPointCalculator.h:55
makVrv::DtOsgExtrudedPolygonModel * myFramework
Definition: boundingVolumeSupportPointCalculator.h:97
Small structure to keep information about possible left/right/other points from model points...
Definition: boundingVolumeSupportPointCalculator.h:53
std::map< double, std::vector< DtVector > > PointsByHeight
Definition: boundingVolumeSupportPointCalculator.h:65
Given a scene object, this class will iterate over the models, looking for an articulated model or di...
Definition: boundingVolumeSupportPointCalculator.h:41
DtVector other
Definition: boundingVolumeSupportPointCalculator.h:58

Document ID: Generated on Tue Sep 21 17:42:52 EDT 2021 from SVN revision 234861
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)