VR-Forces 4.1.1 Class Documentation
boundingVolumesManager.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2003 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 /*******************************************************************************
6 ** $RCSfile: boundingVolumesManager.h,v $ $Revision: 1.7 $ $State: Exp $
7 *******************************************************************************/
8 
11 
12 #ifndef DTBOUNDINGVOLUMESMANAGER_H_
13 #define DTBOUNDINGVOLUMESMANAGER_H_
14 
15 #include "geometry/point.h"
16 #include "ngutil/entityMapperKey.h"
17 #include "geometry/tdbextent.h"
18 #include "ngutil/orderedKeyList.h"
19 
20 #include <matrix/3dBoundingVolume.h>
21 
22 class DtModelData;
23 class Coordinate_System;
24 class DtDcm;
25 
28 {
29 public:
30  DtBoundingVolumeInfo(const DtEntityMapperKey& key, const DtPoint& volume,
31  const DtPoint& offset);
33 
34  virtual void setVolume(const DtPoint& volume);
35  virtual const DtPoint& volume() const;
36 
37  virtual void setOffset(const DtPoint& offset);
38  virtual const DtPoint& offset() const;
39 
41 
42  virtual DtBoundingVolumeInfo* clone();
43 
44 protected:
47 };
48 
50 {
51 public:
53  virtual ~DtBoundingVolumesManager();
54 
55  virtual bool init(const QString& boundingVolumesFile);
56  virtual DtBoundingVolumeInfo* boundingVolume(const DtEntityMapperKey& data) const;
57  virtual bool addBoundingVolume(DtBoundingVolumeInfo* volume);
58 
62  virtual DtBoundingVolumeInfo boundingVolume(const DtModelData& data) const;
63 
67  virtual Dt3dBoundingVolume computeExtent(const DtPoint& boudingVolume,
68  const DtPoint& offset, const DtPoint& symbolOrigin, const DtModelData& data) const;
69 
71  virtual void computeBoundingBox(const DtPoint& boundingVolume,
72  const DtPoint& offset, const DtPoint& symbolOrigin, const DtModelData& data,
73  DtVector& ul, DtVector& ll, DtVector& ur, DtVector& lr, const Coordinate_System* cs, const DtDcm& bodyToGeoc) const;
74 
77  virtual bool intersectLineOfChord(Dt3dBoundingVolume& source,
78  const DtModelData* data, const DtVector& targetOrigin, const DtVector& start,
79  const DtVector& end, const DtDcm& bodyToGeoc, DtVector* pointIn = NULL, DtVector* pointOut = NULL);
80 
81 public:
82  static DtBoundingVolumesManager* create();
83 
84 protected:
86 };
87 
88 #endif

Document ID: Generated on Mon Apr 8 19:24:01 EDT 2013 from SVN revision 125877
Copyright © 2005-2013 VT MÄK. All Rights Reserved (www.mak.com)