WSF
WsfScriptLocalTrackListClass.hpp
Go to the documentation of this file.
1// ****************************************************************************
2// CUI
3//
4// The Advanced Framework for Simulation, Integration, and Modeling (AFSIM)
5//
6// Copyright 2003-2015 The Boeing Company. All rights reserved.
7//
8// The use, dissemination or disclosure of data in this file is subject to
9// limitation or restriction. See accompanying README and LICENSE for details.
10// ****************************************************************************
11
12#ifndef WSFSCRIPTLOCALTRACKLISTCLASS_HPP
13#define WSFSCRIPTLOCALTRACKLISTCLASS_HPP
14
15#include "wsf_export.h"
16
17#include "UtScriptBasicTypes.hpp"
18class WsfLocalTrack;
19#include "WsfTrackListFwd.hpp"
20
23
24class WSF_EXPORT WsfScriptLocalTrackListClass : public UtScriptClass
25{
26public:
27 WsfScriptLocalTrackListClass(const std::string& aClassName, UtScriptTypes* aTypesPtr);
28
30
31 // See the base class for a description of Create, Clone, and Destroy.
32
33 void* Create(const UtScriptContext& aInstance) override;
34 void* Clone(void* aObjectPtr) override;
35 void Destroy(void* aObjectPtr) override;
36 int EnumerateSize(void* aObjectPtr) override;
37 UtScriptData Enumerate(void* aObjectPtr, int aIndex) override;
38
39 // Each of the exported methods are defined as function objects.
40
46};
47
49{
50public:
51 WsfScriptLocalTrackListIteratorClass(const std::string& aClassName, UtScriptTypes* aTypesPtr);
53
54 void Destroy(void* aObjectPtr) override;
55
62
65 {
66 public:
67 Iterator(const WsfLocalTrackList& aLocalTrackList);
68 virtual ~Iterator();
69
70 virtual bool HasNext();
71 virtual WsfTrack* Next();
72
73 virtual bool HasPrev();
74 virtual WsfTrack* Prev();
75
76 virtual int Key() const;
77 virtual WsfTrack* Data() const;
78
79 bool IteratorValidForAccess() const;
80 std::string IteratorErrorString() const;
81
82 private:
83 const WsfLocalTrackList& mLocalTrackListRef;
84 int mCurrentKey;
85 int mVectorSize;
86 };
87};
88
89#endif
ut::script::Data UtScriptData
Definition WsfScriptContext.hpp:47
WsfTrackListT< WsfLocalTrack > WsfLocalTrackList
Definition WsfTrackList.hpp:89
#define WSF_EXPORT
Definition WsfXIO_Export.hpp:35
Definition WsfLocalTrack.hpp:32
void * Clone(void *aObjectPtr) override
Definition WsfScriptLocalTrackListClass.cpp:52
void Destroy(void *aObjectPtr) override
Definition WsfScriptLocalTrackListClass.cpp:60
UT_DECLARE_SCRIPT_METHOD(GetIterator)
void * Create(const UtScriptContext &aInstance) override
Definition WsfScriptLocalTrackListClass.cpp:46
WsfScriptLocalTrackListClass(const std::string &aClassName, UtScriptTypes *aTypesPtr)
Definition WsfScriptLocalTrackListClass.cpp:18
UtScriptData Enumerate(void *aObjectPtr, int aIndex) override
Definition WsfScriptLocalTrackListClass.cpp:72
int EnumerateSize(void *aObjectPtr) override
Definition WsfScriptLocalTrackListClass.cpp:66
virtual WsfTrack * Next()
Definition WsfScriptLocalTrackListClass.cpp:231
virtual WsfTrack * Data() const
Definition WsfScriptLocalTrackListClass.cpp:265
Iterator(const WsfLocalTrackList &aLocalTrackList)
Definition WsfScriptLocalTrackListClass.cpp:214
std::string IteratorErrorString() const
Definition WsfScriptLocalTrackListClass.cpp:280
virtual bool HasPrev()
Definition WsfScriptLocalTrackListClass.cpp:242
virtual WsfTrack * Prev()
Definition WsfScriptLocalTrackListClass.cpp:248
virtual int Key() const
Definition WsfScriptLocalTrackListClass.cpp:259
virtual bool HasNext()
Definition WsfScriptLocalTrackListClass.cpp:225
bool IteratorValidForAccess() const
Definition WsfScriptLocalTrackListClass.cpp:274
void Destroy(void *aObjectPtr) override
Definition WsfScriptLocalTrackListClass.cpp:150
WsfScriptLocalTrackListIteratorClass(const std::string &aClassName, UtScriptTypes *aTypesPtr)
Definition WsfScriptLocalTrackListClass.cpp:132
An object that represents an 'track' (perception) of something.
Definition WsfTrack.hpp:120
Copyrights Multiple, All Rights Reserved