24#include <units/time.h>
25#include <wpi/SmallVector.h>
50 :
Base(std::move(other)),
53 Base::operator=(other);
59 Base::operator=(std::move(other));
63 template <
typename... Args>
65 :
Base{std::forward<Args>(args)...} {}
77 "WARNING: This PhotonPipelineResult object has no targets associated "
79 "Please check HasTargets() before calling this method. For more "
80 "information, please review the PhotonLib documentation at "
81 "http://docs.photonvision.org");
92 return units::microsecond_t{
static_cast<double>(
137 const std::span<const PhotonTrackedTarget>
GetTargets()
const {
Represents a pipeline result from a PhotonCamera.
Definition PhotonPipelineResult.h:37
auto & operator=(const PhotonPipelineResult &other)
Definition PhotonPipelineResult.h:52
const std::span< const PhotonTrackedTarget > GetTargets() const
Returns a reference to the vector of targets.
Definition PhotonPipelineResult.h:137
static bool HAS_WARNED
Definition PhotonPipelineResult.h:148
int64_t SequenceID() const
The number of non-empty frames processed by this camera since boot.
Definition PhotonPipelineResult.h:119
units::second_t GetTimestamp() const
Returns the estimated time the frame was taken, This is much more accurate than using GetLatency()
Definition PhotonPipelineResult.h:102
PhotonTrackedTarget GetBestTarget() const
Returns the best target in this pipeline result.
Definition PhotonPipelineResult.h:74
PhotonPipelineResult(PhotonPipelineResult &&other)
Definition PhotonPipelineResult.h:49
auto & operator=(PhotonPipelineResult &&other)
Definition PhotonPipelineResult.h:57
units::millisecond_t GetLatency() const
Returns the latency in the pipeline.
Definition PhotonPipelineResult.h:91
PhotonPipelineResult(PhotonPipelineResult &other)
Definition PhotonPipelineResult.h:47
PhotonPipelineResult(Base &&data)
Definition PhotonPipelineResult.h:42
friend bool operator==(PhotonPipelineResult const &, PhotonPipelineResult const &)=default
bool HasTargets() const
Returns whether the pipeline has targets.
Definition PhotonPipelineResult.h:130
void SetReceiveTimestamp(const units::second_t timestamp)
Sets the FPGA timestamp this result was Received by robot code.
Definition PhotonPipelineResult.h:122
units::microsecond_t ntReceiveTimestamp
Definition PhotonPipelineResult.h:146
PhotonPipelineResult(const PhotonPipelineResult &other)
Definition PhotonPipelineResult.h:45
PhotonPipelineResult()
Definition PhotonPipelineResult.h:41
const std::optional< MultiTargetPNPResult > & MultiTagResult() const
Return the latest mulit-target result, as calculated on your coprocessor.
Definition PhotonPipelineResult.h:111
PhotonPipelineResult(Args &&... args)
Definition PhotonPipelineResult.h:64
Represents a tracked target within a pipeline.
Definition PhotonTrackedTarget.h:34
Definition VisionEstimation.h:32
Definition PhotonPipelineResultStruct.h:33
std::vector< photon::PhotonTrackedTarget > targets
Definition PhotonPipelineResultStruct.h:35
photon::PhotonPipelineMetadata metadata
Definition PhotonPipelineResultStruct.h:34
std::optional< photon::MultiTargetPNPResult > multitagResult
Definition PhotonPipelineResultStruct.h:36