Program Listing for File spatial_entity3D.hpp

Return to documentation for file (cosm/repr/spatial_entity3D.hpp)

#pragma once

/*******************************************************************************
 * Includes
 ******************************************************************************/
#include "rcppsw/math/vector3.hpp"

#include "cosm/repr/spatial_entity2D.hpp"

/*******************************************************************************
 * Namespaces
 ******************************************************************************/
namespace cosm::repr {

/*******************************************************************************
 * Class Definitions
 ******************************************************************************/
class spatial_entity3D : public spatial_entity2D {
 public:
  using spatial_entity2D::spatial_entity2D;

  ~spatial_entity3D(void) override = default;

  rmath::ranged zrspan(void) const { return rbb().xspan(); }

  rspatial::euclidean_dist zrsize(void) const {
    return rspatial::euclidean_dist(rbb().zsize());
  }

  rmath::rangez zdspan(void) const { return dbb().zspan(); }

  size_t zdsize(void) const { return dbb().zsize(); }
};

} /* namespace cosm::repr */