23 #include <cuda_runtime.h> 53 Vortex(int2 coords, double2 coordsD,
int winding,
bool isOn, std::size_t timeStep);
80 std::vector< std::shared_ptr<Vtx::Vortex> > vortices;
84 VtxList(std::size_t reserveSize);
92 void addVtx(std::shared_ptr<Vtx::Vortex>
vtx);
93 void addVtx(std::shared_ptr<Vtx::Vortex>
vtx, std::size_t
idx);
107 std::vector< std::shared_ptr<Vortex> > &
getVortices();
150 void swapUid(std::shared_ptr<Vortex> v1, std::shared_ptr<Vortex> v2);
157 void swapUid_Idx(std::size_t idx0, std::size_t idx1);
177 void arrangeVtx(std::vector<std::shared_ptr<Vortex> > &vPrev);
183 std::pair<double,std::shared_ptr<Vortex> >
minDistPair(std::shared_ptr<Vortex>
vtx,
double minRange);
189 #endif //GPUE_1_VORT_H void sortVtxUID()
Sorts the vortices based on UID, from low to high.
std::size_t & getMax_Uid()
Returns the largest UID given.
std::pair< double, std::shared_ptr< Vortex > > minDistPair(std::shared_ptr< Vortex > vtx, double minRange)
double2 getCoordsD() const
std::shared_ptr< Vortex > getVtx_Idx(std::size_t idx)
Returns a shared_ptr to the vortex by an index in VtxList.
void updateTimeStep(std::size_t timeStep)
% set(gca, 'Color', [0 0 0])
std::shared_ptr< Vortex > getVtxMinDist(std::shared_ptr< Vortex > vtx)
Returns index of vortex with shortest coordinate distance from current vortex.
void arrangeVtx(std::vector< std::shared_ptr< Vortex > > &vPrev)
Arrange the vortices to have correct UID corresponding across timesteps.
void updateCoordsD(double2 coordsD)
void swapUid(std::shared_ptr< Vortex > v1, std::shared_ptr< Vortex > v2)
In-place swap of the UID for the two given vortices.
void vortOff()
Turns vortex activation off. Useful if vortex no longer exists in condensate.
void swapUid_Idx(std::size_t idx0, std::size_t idx1)
In-place swap of the UID for the two given vortices.
std::size_t getVtxIdx_Uid(int uid)
Returns a vortex index based upon a given vortex UID.
void updateIsOn(bool isOn)
std::vector< std::shared_ptr< Vortex > > & getVortices()
Returns a reference to the vortex list.
std::shared_ptr< Vortex > getVtx_Uid(int uid)
Returns a shared_ptr to the vortex by a UID.
void setUIDs(std::set< std::shared_ptr< Vtx::Vortex > > &v)
void addVtx(std::shared_ptr< Vtx::Vortex > vtx)
Adds a vortex to the list.
std::size_t getTimeStep() const
void updateCoords(int2 coords)
std::shared_ptr< Vortex > removeVtx(std::size_t idx)
Remove a vortex at position idx.
void updateWinding(int winding)