Program Listing for File nest_zone_metrics.hpp
↰ Return to documentation for file (cosm/spatial/metrics/nest_zone_metrics.hpp
)
#pragma once
/*******************************************************************************
* Includes
******************************************************************************/
#include "rcppsw/spatial/euclidean_dist.hpp"
#include "rcppsw/metrics/base_metrics.hpp"
#include "rcppsw/math/vector3.hpp"
#include "rcppsw/types/timestep.hpp"
#include "cosm/cosm.hpp"
/*******************************************************************************
* Namespaces/Decls
******************************************************************************/
namespace cosm::spatial::metrics {
/*******************************************************************************
* Class Definitions
******************************************************************************/
class nest_zone_metrics : public virtual rmetrics::base_metrics {
public:
nest_zone_metrics(void) = default;
~nest_zone_metrics(void) override = default;
/* Not move/copy constructable/assignable by default */
nest_zone_metrics(const nest_zone_metrics&) = delete;
nest_zone_metrics& operator=(const nest_zone_metrics&) = delete;
nest_zone_metrics(nest_zone_metrics&&) = delete;
nest_zone_metrics& operator=(nest_zone_metrics&&) = delete;
virtual bool in_nest(void) const = 0;
virtual bool entered_nest(void) const = 0;
virtual bool exited_nest(void) const = 0;
virtual rtypes::timestep nest_duration(void) const = 0;
virtual rtypes::timestep nest_entry_time(void) const = 0;
};
} /* namespace cosm::spatial::metrics */