|
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) | |
Public Member Functions inherited from RSolidTesselation | |
| 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. | |
Protected Attributes inherited from RSolidTesselation | |
| 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.