Program Listing for File point_cloud.hpp
↰ Return to documentation for file (src/pcms/discretization/discretization/point_cloud.hpp)
#ifndef PCMS_DISCRETIZATION_DISCRETIZATION_POINT_CLOUD_H
#define PCMS_DISCRETIZATION_DISCRETIZATION_POINT_CLOUD_H
#include "pcms/discretization/discretization.h"
#include <Kokkos_Core.hpp>
namespace pcms
{
class PointCloudDiscretization : public Discretization
{
public:
PointCloudDiscretization(int dim,
Kokkos::View<const Real**, HostMemorySpace> coords,
const void* entity_identity = nullptr);
bool SameEntities(const Discretization& other) const noexcept override;
int GetDimension() const override;
LO GetNumEntities(int entity_dim) const override;
Rank1View<const ClassificationDimension, DeviceMemorySpace>
GetEntityClassificationDimensions(int entity_dim) const override;
Rank1View<const ClassificationId, DeviceMemorySpace>
GetEntityClassificationIds(int entity_dim) const override;
private:
int dim_;
const void* entity_identity_;
Kokkos::View<ClassificationDimension*, DeviceMemorySpace> class_dims_;
Kokkos::View<ClassificationId*, DeviceMemorySpace> class_ids_;
};
} // namespace pcms
#endif // PCMS_DISCRETIZATION_DISCRETIZATION_POINT_CLOUD_H