12#ifndef ROOT7_REvePolygonSetProjected
13#define ROOT7_REvePolygonSetProjected
23namespace Experimental {
57 std::unique_ptr<TBuffer3D>
fBuff;
virtual ~REvePolygonSetProjected()
Destructor.
void SetProjection(REveProjectionManager *mng, REveProjectable *model) override
This is virtual method from base-class REveProjected.
virtual void DumpPolys() const
Dump information about built polygons.
REvePolygonSetProjected & operator=(const REvePolygonSetProjected &)
Bool_t IsFirstIdxHead(Int_t s0, Int_t s1)
Compare the two segments and check if the first index of first segment is starting.
Float_t AddPolygon(std::list< Int_t > &pp, std::list< Polygon_t > &p)
Check if polygon has dimensions above REveProjection::fgEps and add it to a list if it is not a dupli...
vpPolygon_t fPolsBS
! polygons build from TBuffer3D segments
REvePolygonSetProjected(const REvePolygonSetProjected &)
void BuildRenderData() override
Crates representation for rendering.
void DumpBuffer3D()
Dump information about currently projected buffer.
void UpdateProjection() override
This is virtual method from base-class REveProjected.
std::list< Polygon_t > vpPolygon_t
vpPolygon_t fPolsBP
! polygons build from TBuffer3D polygons
vpPolygon_t fPols
! polygons
Float_t MakePolygonsFromBS(std::vector< Int_t > &idxMap)
Build polygons from the set of buffer segments.
std::vector< REveVector > fPnts
! reduced and projected points
REveElement * GetProjectedAsElement() override
Returns this projected dynamic-casted to REveElement.
void ProjectBuffer3D()
Project current buffer.
std::vector< Int_t > ProjectAndReducePoints()
Project and reduce buffer points.
Float_t PolygonSurfaceXY(const Polygon_t &poly) const
Calculate XY surface of a polygon.
void ComputeBBox() override
Override of virtual method from TAttBBox.
Int_t WriteCoreJson(nlohmann::json &j, Int_t rnr_offset) override
Fill core part of JSON representation.
void SetDepthLocal(Float_t d) override
Set depth (z-coordinate) of the projected points.
std::unique_ptr< TBuffer3D > fBuff
Float_t MakePolygonsFromBP(std::vector< Int_t > &idxMap)
Build polygons from list of buffer polygons.
REveProjectionManager Manager class for steering of projections and managing projected objects.
Generic 3D primitive description class.
double dist(Rotation3D const &r1, Rotation3D const &r2)
static constexpr double pi
Polygon_t(std::vector< int > &&pnts)