gwnavruntime/queries/utils/halfedgeintersection.h Source File

halfedgeintersection.h
Go to the documentation of this file.
1 /*
2 * Copyright 2016 Autodesk, Inc. All rights reserved.
3 * Use of this software is subject to the terms of the Autodesk license agreement and any attachments or Appendices thereto provided at the time of installation or download,
4 * or which otherwise accompanies this software in either electronic or hard copy form, or which is signed by you and accepted by Autodesk.
5 */
6 
7 #pragma once
8 
10 
11 namespace Kaim
12 {
13 
14 // This class is a "volatile" version of the HalfEdgeIntersection class. It used internally during computation
17 {
18  KY_DEFINE_NEW_DELETE_OPERATORS(MemStat_Query)
19 
20 public:
22 
23  RawHalfEdgeIntersection(const NavHalfEdgeRawPtr& navHalfEdgeRawPtr, const Vec3f& intersectionPos3f) :
24  m_navHalfEdgeRawPtr(navHalfEdgeRawPtr), m_intersectionPos3f(intersectionPos3f) {}
25 
26 public:
29 };
30 
39 {
40  KY_DEFINE_NEW_DELETE_OPERATORS(MemStat_Query)
41 
42 public:
44  HalfEdgeIntersection(const RawHalfEdgeIntersection& rawHalfEdgeIntersection)
45  : m_navHalfEdgePtr(rawHalfEdgeIntersection.m_navHalfEdgeRawPtr.GetNavFloor(), rawHalfEdgeIntersection.m_navHalfEdgeRawPtr.GetHalfEdgeIdx())
46  , m_intersectionPos3f(rawHalfEdgeIntersection.m_intersectionPos3f) {}
47 
48 public:
51 };
52 }
53 
#define KyFloat32MAXVAL
KyFloat32 max value
Definition: types.h:71
Vec3f m_intersectionPos3f
Records the intersections Between the ray and the halfEdge.
Definition: halfedgeintersection.h:50
#define KY_DEFINE_NEW_DELETE_OPERATORS(MemStat)
This macro defines new and delete operators.
Definition: memory.h:132
The Autodesk Navigation namespace.
Definition: gamekitcrowddispersion.cpp:17
and then finally stored as NavTagSubSegment in the QueryDynamicOutput. see HalfEdgeIntersection for d...
Definition: halfedgeintersection.h:16
NavHalfEdgePtr m_navHalfEdgePtr
Records the NavHalfEdge crossed by this sub-segment.
Definition: halfedgeintersection.h:49
Vec3f m_intersectionPos3f
Records the intersections between the ray and the HalfEdge.
Definition: halfedgeintersection.h:28
Each instance of this class uniquely identifies a single NavHalfEdge in a NavFloor.
Definition: navhalfedgeptr.h:16
Each instance of this class uniquely identifies a single NavHalfEdge in a NavFloor.
Definition: navhalfedgerawptr.h:23
This class represents an intersection between an NavHalfEdge and a ray (within a RayCastQuery or a Ra...
Definition: halfedgeintersection.h:38
3d vector using 32bits floating points.
Definition: vec3f.h:16
NavHalfEdgeRawPtr m_navHalfEdgeRawPtr
Records the NavHalfEdge crossed by this sub-segment.
Definition: halfedgeintersection.h:27