35 static QueryType GetStaticType() {
return TypeCircleArcSplineComputation; }
54 const Vec3f& startPosition,
const ChannelSectionPtr& startSection,
55 const Vec3f& endPosition,
const ChannelSectionPtr& endSection);
60 void SetStartConstraint(
const Vec2f& constraint) { m_startConstraint = constraint; }
61 void SetEndConstraint(
const Vec2f& constraint) { m_endConstraint = constraint; }
62 void SetSplineConfig(
const SplineComputationConfig& config) { m_splineConfig = config; }
64 SplineComputationConfig& GetSplineConfig() {
return m_splineConfig; }
71 virtual void Advance(WorkingMemory* workingMemory);
74 void PerformQuery(WorkingMemory* workingMemory =
nullptr);
81 const SplineComputationConfig& GetSplineConfig()
const {
return m_splineConfig; }
82 const Vec3f& GetStartPos()
const {
return m_startPosition; }
83 const Vec3f& GetEndPos()
const {
return m_endPosition; }
84 const ChannelSectionPtr& GetStartChannelSectionPtr()
const {
return m_startSection; }
85 const ChannelSectionPtr& GetEndChannelSectionPtr()
const {
return m_endSection; }
90 const CircleArcSplineComputer& GetComputer()
const {
return m_computer; }
92 KyUInt32 GetOutputCount()
const {
return m_computer.GetOutputCount(); }
93 const RadiusProfileCircleArcSplineComputerOutput& GetOutput(
KyUInt32 index)
const {
return m_computer.GetOutput(index); }
100 CircleArcSplineComputer m_computer;
103 SplineComputationConfig m_splineConfig;
104 Vec3f m_startPosition;
106 ChannelSectionPtr m_startSection;
107 ChannelSectionPtr m_endSection;
108 Vec2f m_startConstraint;
109 Vec2f m_endConstraint;
116 CircleArcSplineComputerVisualDebugConfig m_visualDebugConfig;
std::uint32_t KyUInt32
uint32_t
Definition: types.h:29
Indicates that the query has not yet been launched.
Definition: circlearcsplinecomputationquery.h:19
CircleArcSplineComputationQueryResult
Enumerates the possible results of a CircleArcSplineComputationQuery.
Definition: circlearcsplinecomputationquery.h:16
Indicates that the computation has been canceled.
Definition: circlearcsplinecomputationquery.h:23
Base class for CircleArcSplineComputationQuery.
Definition: circlearcsplinecomputationquery.h:29
Base class for all the queries that need to be time-sliced.
Definition: iquery.h:262
The CircleArcSplineComputer failed due to an internal error (bubble array not created, string puller failed, turn list construction or optimization failed...).
Definition: circlearcsplinecomputationquery.h:22
QueryType
Enumerates all the type of query.
Definition: iquery.h:25
Indicates that the query has not yet been initialized.
Definition: circlearcsplinecomputationquery.h:18
virtual QueryType GetType() const
Get query type.
Definition: circlearcsplinecomputationquery.h:36
This class is a runtime container for all NavData that represents the world from the point of view of...
Definition: database.h:57
2d vector using KyFloat32.
Definition: vec2f.h:18
Inputs are invalid: startSection or endSection are invalid or not in the same Channel.
Definition: circlearcsplinecomputationquery.h:21
Indicates that a spline has been successfully computed.
Definition: circlearcsplinecomputationquery.h:25
The Autodesk Navigation namespace.
Definition: gamekitcrowddispersion.cpp:17
CircleArcSplineComputationResult
Enumerates the CircleArcSpline computation results.
Definition: circlearcsplinecomputationresult.h:15
Indicates that the query has not yet been initialized.
Definition: iquery.h:295
void PerformQuery(WorkingMemory *workingMemory=nullptr)
If workingMemory param is nullptr, m_database.GetWorkingMemory() will be used.
Definition: circlearcsplinecomputationquery.cpp:91
virtual void ReleaseWorkingMemoryOnCancelDuringProcess(WorkingMemory *workingMemory=nullptr)
Called when a query is canceled in FlushCommands while its status is QueryInProcess to make sure that...
Definition: circlearcsplinecomputationquery.cpp:99
void BindToDatabase(Database *database)
Binds the query with the specified Database, clears all the inputs and outputs and sets all other par...
Definition: circlearcsplinecomputationquery.cpp:20
Indicates that the query has not yet been launched.
Definition: iquery.h:296
void Initialize()
Should be called by the derived class before trying to perform the query or to push it in a QueryQueu...
Definition: iquery.h:273
virtual void Advance(WorkingMemory *workingMemory)
Performs a single iteration of the spline computation query.
Definition: circlearcsplinecomputationquery.cpp:48
3d vector using 32bits floating points.
Definition: vec3f.h:16