JG ROOT Tools libraries  version 5.0 - august 2014
RSolidTesselation Class Referenceabstract

#include <RSolidTesselation.hh>

Inheritance diagram for RSolidTesselation:
RSphereTesselation

Public Member Functions

Constructors, affectation, destructor
 RSolidTesselation ()
 
virtual ~RSolidTesselation ()
 
Tesselation data
virtual void ResetData ()
 
virtual void InitData ()=0
 
virtual int SubDivide ()=0
 
virtual u_short GetDivision () const
 
int GetNpoints () const
 
int GetNsegments () const
 
const RTesselationPointGetPoint (int ip) const
 
const RTesselationSegmentGetSegment (int is) const
 
ROOT related functions
TPolyMarker3D * CreatePoints3D () const
 
TPolyLine3D * CreateSegment3D (int is) const
 
TList * CreateLines3D (const TAttLine latt=TAttLine(kRed+1, 2, 1)) const
 
 ClassDef (RSolidTesselation, 0)
 

Protected Attributes

u_short subdiv
 Number of subdivisions since initial creation.
 
u_int npts
 Number of points.
 
u_int nseg
 Number of segments.
 
RTesselationPointtab_pts
 Array of points.
 
RTesselationSegmenttab_seg
 Array of segments.
 

Private Member Functions

 GObjectV (RSolidTesselation)
 

Detailed Description

Base class for representation of a volume by a set of points that are summits of base triangles.

This is an abstract class, and the derived class must provide an initialization function (InitData) that properly defines the points for a closed volume.

Constructor & Destructor Documentation

RSolidTesselation::RSolidTesselation ( )

Default constructor (no points).

References npts, nseg, subdiv, tab_pts, and tab_seg.

RSolidTesselation::~RSolidTesselation ( )
virtual

Destructor.

References ResetData().

Member Function Documentation

RSolidTesselation::GObjectV ( RSolidTesselation  )
private

Macro from GCpp library that defines the following functions:

  • ClassName(): return the real class name of the object
  • StaticClassName(): return the used class name of the object (that may be a base class of the real object).
  • IsInstanceOf<T>(): return true if the current object is an instance of the template class name argument
  • Clone(): return an allocated copy of the object.
void RSolidTesselation::ResetData ( )
virtual

Function that removes all points from the object.

References npts, nseg, subdiv, tab_pts, and tab_seg.

Referenced by RSphereTesselation::InitData(), RSphereTesselation::SubDivide(), and ~RSolidTesselation().

virtual void RSolidTesselation::InitData ( )
pure virtual

Function setting the initial points before division.

Implemented in RSphereTesselation.

virtual int RSolidTesselation::SubDivide ( )
pure virtual

Function sub-dividing the current discretization of the volume. The function should return the new number of points.

Implemented in RSphereTesselation.

u_short RSolidTesselation::GetDivision ( ) const
inlinevirtual

Return the number of division iterations from the primary solid.

References subdiv.

Referenced by RHoughTransform3D::SetTesselation().

int RSolidTesselation::GetNpoints ( ) const
inline

Return the number of points.

References npts.

Referenced by RHoughTransform3D::SetTesselation().

int RSolidTesselation::GetNsegments ( ) const
inline

Return the number of segments.

References nseg.

Referenced by RHoughTransform3D::SetTesselation().

const RTesselationPoint & RSolidTesselation::GetPoint ( int  ip) const
inline
const RTesselationSegment & RSolidTesselation::GetSegment ( int  is) const
inline

Return a segment (by constant reference).

Parameters
issegment index

References tab_seg.

Referenced by RHoughTransform3D::CreateSegment3D(), RHoughTransform3D::GetSegment(), and RHoughTransform3D::SetTesselation().

TPolyMarker3D * RSolidTesselation::CreatePoints3D ( ) const

Create a TPolyMarker3D object (ROOT) from points.

References npts, RTesselationPoint::position, and tab_pts.

TPolyLine3D * RSolidTesselation::CreateSegment3D ( int  is) const

Create a TPolyLine3D object (ROOT) from a segment.

Parameters
issegment number

References RTesselationSegment::GetP0(), RTesselationSegment::GetP1(), nseg, tab_pts, and tab_seg.

Referenced by CreateLines3D().

TList * RSolidTesselation::CreateLines3D ( const TAttLine  latt = TAttLine(kRed+1,2,1 )) const

Create a list of TPolyLine3D objects (ROOT) from segments.

Parameters
lattline attributes set to all segments

References CreateSegment3D(), and nseg.

RSolidTesselation::ClassDef ( RSolidTesselation  ,
 
)

For ROOT dictionary.


The documentation for this class was generated from the following files: