VR-Forces Developer's Guide
 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) 2020 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
7 
8 #pragma once
9 
11 #include "geometry/extent.h"
12 
13 #include "features/feature.h"
14 #include "features/query.h"
15 #include "vrfobjcore/collision.h"
16 
17 #include "features/areaFeature.h"
18 
20 {
21 
22 public:
23 
26  MAKVRinTerra::DtAreaFeature::CPtr feature, double distanceSq,
27  const Coordinate_System* localCs);
28 
30  virtual ~DtFeatureCollision() override;
31 
35  DtFeatureCollision(const DtFeatureCollision& original);
36 
37 
38 public:
39  virtual bool operator==(const DtCollision& other) const override;
40  virtual bool operator!=(const DtCollision& other) const override;
41 
42  bool operator==(const DtFeatureCollision& collision) const;
43  bool operator!=(const DtFeatureCollision& collision) const;
44 
47  virtual bool valid() const override;
48 
50  virtual DtCollisionObjectType collisionType() const override;
51 
52  MAKVRinTerra::DtAreaFeature::CPtr feature() const;
53 
54  bool matches(const MAKVRinTerra::DtQuery& query);
55 
56  virtual void setObstructionEntityID(const DtUUID& entityID) override;
57  virtual const DtUUID& obstructionEntityID() const override;
58 
59  virtual DtVector obstructionLocation() const override;
60 
61  virtual DtVector obstructionVelocity() const override;
62 
63  virtual bool intersectsPoint(const DtVector& localPosition) const override;
64 
65  virtual Dt3dBoundingVolume obstructionBoundingVolume() const override;
66 
67  DtExtent extent() const;
68 
69  virtual void setDistanceSquared(double distanceSquared) override;
70  virtual double distanceSquared() const override;
71 
72  virtual DtDcm obstructionLocalOrientationMatrix() const override;
73 
74  virtual bool testInvariant() const override;
75 
76 protected:
78 
80  Dt3dBoundingVolume myBoundingVolume;
81 
83 
86 };
UUID is a unique ID wrapper class.
Definition: uuid.h:59
virtual const DtUUID & obstructionEntityID() const =0
virtual DtVector obstructionLocation() const =0
std::shared_ptr< const DtProj > CPtr
Definition: proj.h:56
virtual bool valid() const =0
Definition: featureCollision.h:19
virtual double distanceSquared() const =0
Dt3dBoundingVolume myBoundingVolume
Definition: featureCollision.h:80
The DtExtent represents an axis-aligned 3d bounding box.
Definition: extent.h:43
virtual bool operator!=(const DtCollision &other) const =0
virtual bool intersectsPoint(const DtVector &localPosition) const =0
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. DtQuery objects are the way to communica...
Definition: query.h:37
DtCollisionObjectType
Definition: collision.h:19
std::shared_ptr< const DtAreaFeature > CPtr
Definition: areaFeature.h:33
Definition: collision.h:25
virtual void setObstructionEntityID(const DtUUID &entityID)=0
DtDcm myOrientation
Definition: featureCollision.h:79
virtual DtDcm obstructionLocalOrientationMatrix() const =0
const Coordinate_System * myLocalCs
Definition: featureCollision.h:84
Contains the declaration of the DtExtent class.
virtual bool operator==(const DtCollision &other) const =0
double myDistanceSquared
Definition: featureCollision.h:82
virtual void setDistanceSquared(double distanceSquared)=0
DtCollision & operator=(const DtCollision &original)
Copy constructor - not implemented.
virtual bool testInvariant() const =0
MAKVRinTerra::DtProj::CPtr myLocalProj
Definition: featureCollision.h:85
MAKVRinTerra::DtAreaFeature::CPtr myFeature
Definition: featureCollision.h:77
virtual Dt3dBoundingVolume obstructionBoundingVolume() const =0
virtual DtVector obstructionVelocity() const =0

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)