File implicit_geometry_slot.h
File List > geometry > implicit_geometry_slot.h
Go to the documentation of this file
#pragma once
#include <uipc/geometry/geometry_slot.h>
#include <uipc/geometry/implicit_geometry.h>
namespace uipc::geometry
{
template <>
class UIPC_CORE_API GeometrySlotT<ImplicitGeometry> : public GeometrySlot
{
public:
GeometrySlotT(IndexT id, const ImplicitGeometry& geometry);
ImplicitGeometry& geometry() noexcept;
const ImplicitGeometry& geometry() const noexcept;
protected:
Geometry& get_geometry() noexcept override;
const Geometry& get_geometry() const noexcept override;
private:
ImplicitGeometry m_geometry;
};
extern template class GeometrySlotT<ImplicitGeometry>;
using ImplicitGeometrySlot = GeometrySlotT<ImplicitGeometry>;
} // namespace uipc::geometry
namespace std
{
extern template class std::shared_ptr<uipc::geometry::ImplicitGeometrySlot>;
}