JG ROOT Tools libraries
version 5.0 - august 2014
|
#include <RSphereTesselation.hh>
Public Member Functions | |
Constructors, affectation, destructor | |
RSphereTesselation () | |
virtual | ~RSphereTesselation () |
Tesselation data | |
virtual void | InitData () |
virtual int | SubDivide (int n) |
virtual int | SubDivide () |
double | GetDistanceMin () const |
double | GetDistanceMax () const |
double | GetAngleMin (bool deg=false) const |
double | GetAngleMax (bool deg=false) const |
TVector3 | GetVectUx (int ip) const |
TVector3 | GetVectUy (int ip) const |
ROOT related functions | |
ClassDef (RSphereTesselation, 0) | |
![]() | |
RSolidTesselation () | |
virtual | ~RSolidTesselation () |
virtual void | ResetData () |
virtual u_short | GetDivision () const |
int | GetNpoints () const |
int | GetNsegments () const |
const RTesselationPoint & | GetPoint (int ip) const |
const RTesselationSegment & | GetSegment (int is) const |
TPolyMarker3D * | CreatePoints3D () const |
TPolyLine3D * | CreateSegment3D (int is) const |
TList * | CreateLines3D (const TAttLine latt=TAttLine(kRed+1, 2, 1)) const |
ClassDef (RSolidTesselation, 0) | |
Protected Attributes | |
double | dmin |
Lower distance between points. | |
double | dmax |
Upper distance between points. | |
![]() | |
u_short | subdiv |
Number of subdivisions since initial creation. | |
u_int | npts |
Number of points. | |
u_int | nseg |
Number of segments. | |
RTesselationPoint * | tab_pts |
Array of points. | |
RTesselationSegment * | tab_seg |
Array of segments. | |
Private Member Functions | |
GObject (RSphereTesselation) | |
This class defines a discretization of a sphere from the tesselation of a basic platon solid (icosahedron).
The points are all located on a unit radius sphere.
RSphereTesselation::RSphereTesselation | ( | ) |
Default constructor (no points).
|
virtual |
Destructor.
|
private |
Macro from GCpp library that defines the following functions:
|
virtual |
Function sets the initial points and segments from an icosahedron.
Implements RSolidTesselation.
References dmax, dmin, RTesselationPoint::GetPosition(), RSolidTesselation::npts, RSolidTesselation::nseg, RSolidTesselation::ResetData(), RGetString(), RTesselationPoint::SetNeighbour(), RTesselationPoint::SetNeighboursNum(), RTesselationSegment::SetPindex(), RTesselationPoint::SetPosition(), RSolidTesselation::tab_pts, and RSolidTesselation::tab_seg.
Referenced by RHoughTransform3D::SetTesselation().
|
virtual |
Function subdividing the points. The function returns the new number of points, or -1 in case of failure.
n | number of division iterations |
References SubDivide().
Referenced by RHoughTransform3D::SetTesselation().
|
virtual |
Function subdividing the points.
For now, the algorithm uses the brute force to recreate the segments: it looks for points below a given distance. All points combitations are considered, which is not efficient. A better one should be searched for.
Implements RSolidTesselation.
References dmax, dmin, RTesselationSegment::GetP0(), RTesselationSegment::GetP1(), RTesselationPoint::GetPosition(), RSolidTesselation::npts, RSolidTesselation::nseg, RSolidTesselation::ResetData(), RGetString(), RTesselationPoint::SetNeighbour(), RTesselationPoint::SetNeighboursNum(), RTesselationSegment::SetPindex(), RTesselationPoint::SetPosition(), RSolidTesselation::subdiv, RSolidTesselation::tab_pts, and RSolidTesselation::tab_seg.
Referenced by SubDivide().
|
inline |
Return the minimum distance between neighbouring points.
References dmin.
|
inline |
Return the maximum distance between neighbouring points.
References dmax.
|
inline |
Return the minimum angle between neighbouring points.
deg | whether the angle is returned in degrees |
References dmin.
Referenced by RHoughTransform3D::SetTransformLocal().
|
inline |
Return the maximum angle between neighbouring points.
deg | whether the angle is returned in degrees |
References dmax.
|
inline |
Return the normal unit vector X.
ip | point number |
References RNormalUx(), and RSolidTesselation::tab_pts.
Referenced by RHoughTransform3D::SetTesselation().
|
inline |
Return the normal unit vector Y.
ip | point number |
References RNormalUy(), and RSolidTesselation::tab_pts.
Referenced by RHoughTransform3D::SetTesselation().
RSphereTesselation::ClassDef | ( | RSphereTesselation | , |
0 | |||
) |
For ROOT dictionary.