gwnavruntime/queries/blobs/diskcangoquerydisplaylistbuilder.h Source File

diskcangoquerydisplaylistbuilder.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 
11 
12 namespace Kaim
13 {
14 
15 class DiskCanGoQueryDisplayListBuilder : public QueryDisplayListBuilder<DiskCanGoQueryBlob, DiskCanGoQueryOutputBlob, DiskCanGoQueryDisplayListBuilder>
16 {
17 public:
18  void DoPushQueryShape(Color color)
19  {
20  m_displayList->PushSegmentCapsule2d5(m_query->m_startPos3f, m_query->m_destPos3f, m_query->m_radius, color);
21  }
22 
23 private:
24  virtual void DoBuild(DisplayList* displayList, char* blob)
25  {
26  if (Init(displayList, blob) == false)
27  return;
28 
29  switch ((DiskCanGoQueryResult)m_output->m_result)
30  {
31  case DISKCANGO_NOT_INITIALIZED: break;
32  case DISKCANGO_NOT_PROCESSED: Push_NOT_PROCESSED(); break;
33  case DISKCANGO_DONE_START_OUTSIDE: Push_START_OUTSIDE(); break;
34  case DISKCANGO_DONE_START_NAVTAG_FORBIDDEN: Push_START_NAVTAG_FORBIDDEN(); break;
35  case DISKCANGO_DONE_COLLISION_DETECTED: Push_COLLISION_DETECTED(); break;
36  case DISKCANGO_DONE_ARRIVAL_WRONG_FLOOR: Push_ARRIVAL_WRONG_FLOOR(); break;
37  case DISKCANGO_DONE_LACK_OF_WORKING_MEMORY: Push_LACK_OF_WORKING_MEMORY(); break;
38  case DISKCANGO_DONE_UNKNOWN_ERROR: Push_UNKNOWN_ERROR(); break;
39  case DISKCANGO_DONE_SUCCESS: Push_SUCCESS(); break;
40  }
41 
42  PushDynamicOutput();
43  }
44 };
45 
46 }
47 
Indicates that a NavMesh triangle has been found for the starting point, but its NavTag is not consid...
Definition: basediskcangoquery.h:23
Indicates the query generated no results, which may indicate that the start and end points are on dif...
Definition: basediskcangoquery.h:25
Indicates the query has not yet been launched.
Definition: basediskcangoquery.h:20
Indicates the query has not yet been initialized.
Definition: basediskcangoquery.h:19
Indicates that a NavMesh triangle could not be found for the starting point.
Definition: basediskcangoquery.h:22
DiskCanGoQueryResult
Enumerates the possible results of a DiskCanGoQuery.
Definition: basediskcangoquery.h:17
Indicates that the disk can pass in a straight line-from start to end point-without a collision...
Definition: basediskcangoquery.h:29
The Autodesk Navigation namespace.
Definition: gamekitcrowddispersion.cpp:17
Indicates that a collision was detected along the straight line between the starting and ending point...
Definition: basediskcangoquery.h:24
Indicates that an unknown error occurred during the query processing.
Definition: basediskcangoquery.h:27
Indicates that insufficient working memory caused the query to stop.
Definition: basediskcangoquery.h:26