VR-Forces 4.8 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
featureCollision.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2004 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 /*******************************************************************************
6 ** $RCSfile: collision.h,v $ $Revision: 1.9 $ $State: Exp $
7 *******************************************************************************/
10 
11 #pragma once
12 
14 
15 #include "features/feature.h"
16 #include "features/query.h"
17 #include "vrfobjcore/collision.h"
18 
19 #include "features/areaFeature.h"
20 
22 {
23 
24 public:
25 
28  MAKVRinTerra::DtAreaFeature::CPtr feature, double distanceSq,
29  Coordinate_System* localCs);
30 
32  virtual ~DtFeatureCollision();
33 
37  DtFeatureCollision(const DtFeatureCollision& original);
38 
39 
40 public:
41 
42  bool operator==(const DtCollision& other) const;
43  bool operator!=(const DtCollision& other) const;
44 
45  bool operator==(const DtFeatureCollision& collision) const;
46  bool operator!=(const DtFeatureCollision& collision) const;
47 
50  bool valid() const;
51 
53  virtual DtCollisionObjectType collisionType() const;
54 
55  MAKVRinTerra::DtAreaFeature::CPtr feature() const;
56 
57  bool matches(const MAKVRinTerra::DtQuery & query);
58 
59  void setObstructionEntityID(const DtUUID& entityID);
60  const DtUUID& obstructionEntityID() const;
61 
63 
65 
66  bool intersectsPoint(const DtVector& localPosition) const;
67 
68  Dt3dBoundingVolume& obstructionBoundingVolume();
69  const Dt3dBoundingVolume& obstructionBoundingVolume() const;
70 
71  DtExtent extent() const;
72 
73  void setDistanceSquared(double distanceSquared);
74  double distanceSquared() const;
75 
76  const DtDcm& obstructionLocalOrientationMatrix() const;
77 
78  bool testInvariant() const;
79 
80 protected:
82 
84  Dt3dBoundingVolume myBoundingVolume;
85 
87 
90 };
UUID is a unique ID wrapper class.
Definition: rwUUID.h:222
virtual const DtUUID & obstructionEntityID() const =0
virtual DtVector obstructionLocation() const =0
virtual bool valid() const =0
Definition: featureCollision.h:21
virtual double distanceSquared() const =0
Dt3dBoundingVolume myBoundingVolume
Definition: featureCollision.h:84
The DtExtent represents an axis-aligned 3d bounding box.
Definition: extent.h:43
boost::shared_ptr< const DtAreaFeature > CPtr
Definition: areaFeature.h:31
virtual bool operator!=(const DtCollision &other) const =0
virtual bool intersectsPoint(const DtVector &localPosition) const =0
Coordinate_System * myLocalCs
Definition: featureCollision.h:88
virtual DtCollisionObjectType collisionType() const =0
What type of collision is it? Another object or a vector feature?
Definition: coordSystem.h:54
#define DT_DLL_vrfobjcore
This file is used to determine how to build.
Definition: vrfobjcoreDefines.h:24
Represents a set of characeters a DtFeature object can have.
Definition: query.h:38
virtual Dt3dBoundingVolume & obstructionBoundingVolume()=0
DtCollisionObjectType
Definition: collision.h:18
boost::shared_ptr< const DtProj > CPtr
Definition: proj.h:48
Definition: collision.h:24
virtual void setObstructionEntityID(const DtUUID &entityID)=0
DtDcm myOrientation
Definition: featureCollision.h:83
virtual bool operator==(const DtCollision &other) const =0
double myDistanceSquared
Definition: featureCollision.h:86
virtual void setDistanceSquared(double distanceSquared)=0
DtCollision & operator=(const DtCollision &original)
Copy constructor - not implemented.
virtual bool testInvariant() const =0
virtual const DtDcm & obstructionLocalOrientationMatrix() const =0
MAKVRinTerra::DtProj::CPtr myLocalProj
Definition: featureCollision.h:89
MAKVRinTerra::DtAreaFeature::CPtr myFeature
Definition: featureCollision.h:81
virtual DtVector obstructionVelocity() const =0

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)