313 Error(
"TGLVector3::Normalise",
"vector has zero magnitude");
324 return v1[0]*v2[0] + v1[1]*v2[1] + v1[2]*v2[2];
331 v1[2]*v2[0] - v2[2]*v1[0],
332 v1[0]*v2[1] - v2[0]*v1[1]);
338 return TGLVector3(vec[0] / val, vec[1] / val, vec[2] / val);
344 return TGLVector3(vec[0] * val, vec[1] * val, vec[2] * val);
351 return TGLVertex3(vertex1[0] + vertex2[0], vertex1[1] + vertex2[1], vertex1[2] + vertex2[2]);
358 return TGLVector3(vertex1[0] - vertex2[0], vertex1[1] - vertex2[1], vertex1[2] - vertex2[2]);
365 return TGLVector3(vector1[0] + vector2[0], vector1[1] + vector2[1], vector1[2] + vector2[2]);
372 return TGLVector3(vector1[0] - vector2[0], vector1[1] - vector2[1], vector1[2] - vector2[2]);
379 return a[0]*b[0] + a[1]*b[1] + a[2]*b[2];
712 res[ 0] = rhs[ 0] * lhs[ 0] + rhs[ 1] * lhs[ 4] + rhs[ 2] * lhs[ 8] + rhs[ 3] * lhs[12];
713 res[ 1] = rhs[ 0] * lhs[ 1] + rhs[ 1] * lhs[ 5] + rhs[ 2] * lhs[ 9] + rhs[ 3] * lhs[13];
714 res[ 2] = rhs[ 0] * lhs[ 2] + rhs[ 1] * lhs[ 6] + rhs[ 2] * lhs[10] + rhs[ 3] * lhs[14];
715 res[ 3] = rhs[ 0] * lhs[ 3] + rhs[ 1] * lhs[ 7] + rhs[ 2] * lhs[11] + rhs[ 3] * lhs[15];
717 res[ 4] = rhs[ 4] * lhs[ 0] + rhs[ 5] * lhs[ 4] + rhs[ 6] * lhs[ 8] + rhs[ 7] * lhs[12];
718 res[ 5] = rhs[ 4] * lhs[ 1] + rhs[ 5] * lhs[ 5] + rhs[ 6] * lhs[ 9] + rhs[ 7] * lhs[13];
719 res[ 6] = rhs[ 4] * lhs[ 2] + rhs[ 5] * lhs[ 6] + rhs[ 6] * lhs[10] + rhs[ 7] * lhs[14];
720 res[ 7] = rhs[ 4] * lhs[ 3] + rhs[ 5] * lhs[ 7] + rhs[ 6] * lhs[11] + rhs[ 7] * lhs[15];
722 res[ 8] = rhs[ 8] * lhs[ 0] + rhs[ 9] * lhs[ 4] + rhs[10] * lhs[ 8] + rhs[11] * lhs[12];
723 res[ 9] = rhs[ 8] * lhs[ 1] + rhs[ 9] * lhs[ 5] + rhs[10] * lhs[ 9] + rhs[11] * lhs[13];
724 res[10] = rhs[ 8] * lhs[ 2] + rhs[ 9] * lhs[ 6] + rhs[10] * lhs[10] + rhs[11] * lhs[14];
725 res[11] = rhs[ 8] * lhs[ 3] + rhs[ 9] * lhs[ 7] + rhs[10] * lhs[11] + rhs[11] * lhs[15];
727 res[12] = rhs[12] * lhs[ 0] + rhs[13] * lhs[ 4] + rhs[14] * lhs[ 8] + rhs[15] * lhs[12];
728 res[13] = rhs[12] * lhs[ 1] + rhs[13] * lhs[ 5] + rhs[14] * lhs[ 9] + rhs[15] * lhs[13];
729 res[14] = rhs[12] * lhs[ 2] + rhs[13] * lhs[ 6] + rhs[14] * lhs[10] + rhs[15] * lhs[14];
730 res[15] = rhs[12] * lhs[ 3] + rhs[13] * lhs[ 7] + rhs[14] * lhs[11] + rhs[15] * lhs[15];
739 C[0] =
x; C[1] =
y; C[2] = z;
746 C[0] = v[0]; C[1] = v[1]; C[2] = v[2];
753 C[0] = x[0]; C[1] = x[1]; C[2] = x[2];
766 v[0] = C[0]; v[1] = C[1]; v[2] = C[2];
773 x[0] = C[0], x[1] = C[1], x[2] = C[2];
1012 const std::vector<Double_t> &
points);
1019 const std::vector<Double_t> &
points,
1174 return &std::vector<T>::operator [](ind * fRowLen);
1178 return &std::vector<T>::operator [] (ind * fRowLen);
1254 Double_t zScale, std::vector<Double_t> &zLevels);
1291 template<
class Func,
class Arg>
1308 template<
class Func,
class Arg1,
class Arg2>
1317 : fFunc(f), fArg1(a1), fArg2(a2)
1323 fFunc(fArg1, fArg2);
1327 template<
class Func,
class Arg>
1333 template<
class Func,
class Arg1,
class Arg2>
1358 void SetContours(
const std::vector<Double_t> *contours);
1371 #endif // ROOT_TGLUtil
virtual ~TGLColor()
Destructor.
static UInt_t fgDefaultDrawQuality
static void DrawRing(const TGLVertex3 ¢er, const TGLVector3 &normal, Double_t radius, const UChar_t *rgba)
Draw ring, centered on 'center', lying on plane defined by 'center' & 'normal' of outer radius 'radiu...
std::vector< T >::size_type size_type
void SetZLevels(TAxis *zAxis, Double_t zMin, Double_t zMax, Double_t zScale, std::vector< Double_t > &zLevels)
void SetRowLen(Int_t len)
std::vector< UChar_t > fTexels
const UChar_t * CArr() const
TDrawQualityModifier(Int_t dq)
Class encapsulating a set of colors used throughout standard rendering.
static GLUtesselator * GetDrawTesselator3fv()
Returns a tesselator for direct drawing when using 3-vertices with single precision.
static UInt_t fgColorLockCount
void DrawFaceTextured(const TGLVertex3 &v1, const TGLVertex3 &v2, const TGLVertex3 &v3, Double_t t1, Double_t t2, Double_t t3, const TGLVector3 &norm1, const TGLVector3 &norm2, const TGLVector3 &norm3)
Draw textured triangle.
void ReadColorBuffer(Int_t width, Int_t height)
Read color buffer.
void DrawQuadFilled(const TGLVertex3 &v0, const TGLVertex3 &v1, const TGLVertex3 &v2, const TGLVertex3 &v3, const TGLVector3 &normal)
Draw quad face.
Abstract base camera class - concrete classes for orthographic and perspective cameras derive from it...
static void Color(const TGLColor &color)
Set color from TGLColor.
TGLVertex3 operator*(Double_t f, const TGLVertex3 &v)
void MultiplyIP(TGLVector3 &v, Double_t w=1) const
Multiply vector in-place.
static double p3(double t, double a, double b, double c, double d)
Wrapper class for various misc static functions - error checking, draw helpers etc.
void SetTranslation(Double_t x, Double_t y, Double_t z)
Set matrix translation components x,y,z.
void StdLightBackground()
Set defaults for light (white) background.
static void ColorTransparency(Color_t color_index, Char_t transparency=0)
Set color from color_index and ROOT-style transparency (default 0).
const Double_t * CArr() const
static const UChar_t fgYellow[4]
Bool_t IsScalingForRender() const
Return true if matrix is to be considered a scaling matrix for rendering.
void TransformVertex(TGLVertex3 &vertex) const
Transform passed 'vertex' by this matrix - converts local frame to parent.
Double_t Invert()
Invert the matrix, returns determinant.
virtual ~TGLLine3()
Destroy 3D line object.
const Float_t gNullEmission[]
const TGLColor & Selection(Int_t i) const
const TGLVertex3 & operator+=(const TGLVector3 &val)
static void DrawReferenceMarker(const TGLCamera &camera, const TGLVertex3 &pos, Float_t radius=3, const UChar_t *rgba=0)
Draw a sphere- marker on world-coordinate 'pos' with pixel radius 'radius'.
void SetBaseVec(Int_t b, Double_t x, Double_t y, Double_t z)
TGLVertex3 operator-() const
TGLVector3 GetTranslation() const
Return the translation component of matrix.
std::pair< Double_t, Double_t > Range_t
const TGLVector3 operator/(const TGLVector3 &vec, Double_t val)
16 component (4x4) transform matrix - column MAJOR as per GL.
void DrawQuadStripWithRadialGradientFill(unsigned nPoints, const Double_t *inner, const Double_t *innerRGBA, const Double_t *outer, const Double_t *outerRGBA)
TODO: is it possible to use GLdouble to avoid problems with Double_t/GLdouble if they are not the sam...
Class encapsulating color information in preferred GL format - an array of four unsigned bytes...
void RotateIP(TGLVector3 &v) const
Rotate vector in-place. Translation is not applied.
static void DrawLine(const TGLLine3 &line, ELineHeadShape head, Double_t size, const UChar_t rgba[4])
Draw thick line (tube) defined by 'line', with head at end shape 'head' - box/arrow/none, (head) size 'size', color 'rgba'.
ClassDef(TDrawQualityScaler, 0)
const Double_t * CArr() const
TGLCapabilitySwitch & operator=(const TGLCapabilitySwitch &)
void Expand(Int_t x, Int_t y)
Expand the rect to encompass point (x,y)
static void DrawSimpleAxes(const TGLCamera &camera, const TGLBoundingBox &bbox, Int_t axesType)
Draw simple xyz-axes for given bounding-box.
TGLMatrix & operator*=(const TGLMatrix &rhs)
static void BeginAttLine(const TAttLine &aline, Char_t transp, Int_t pick_radius=0, Bool_t selection=kFALSE)
Setup drawing parameters according to passed TAttLine.
std::vector< TGLPlane >::const_iterator TGLPlaneSet_ci
TGLEnableGuard & operator=(const TGLEnableGuard &)
static void Color3fv(const Float_t *rgb)
Wrapper for glColor3fv.
void Dump() const
Output vertex component values to std::cout.
static UInt_t GetDrawQuality()
static: get draw quality
TGLVector3 operator-(const TGLVertex3 &vertex1, const TGLVertex3 &vertex2)
static void RenderPoints(const TAttMarker &marker, Float_t *p, Int_t n, Int_t pick_radius=0, Bool_t selection=kFALSE, Bool_t sec_selection=kFALSE)
Render markers as circular or square points.
static Float_t GetScreenScalingFactor()
Returns scaling factor between screen points and GL viewport pixels.
TGLRect()
Positive width/height.
void Transpose3x3()
Transpose the top left 3x3 matrix component along major diagonal Supported as currently incompatibili...
void StdDarkBackground()
Set defaults for dark (black) background.
void Set(const TGLVertex3 &start, const TGLVertex3 &end)
Set 3D line running from 'start' to 'end'.
static const UChar_t fgGrey[4]
const Float_t gBlueEmission[]
Double_t & operator[](Int_t index)
virtual ~TGLPlane()
Destroy plane object.
static void PointToViewport(Int_t &x, Int_t &y)
Convert from point/screen coordinates to GL viewport coordinates.
void DrawBoxWithGradientFill(Double_t y1, Double_t y2, Double_t x1, Double_t x2, const Double_t *rgba1, const Double_t *rgba2)
static void RenderPolyMarkers(const TAttMarker &marker, Char_t transp, Float_t *p, Int_t n, Int_t pick_radius=0, Bool_t selection=kFALSE, Bool_t sec_selection=kFALSE)
Render polymarkers at points specified by p-array.
void SetTransparency(Char_t transparency)
Set alpha from the transparency.
TGLEnableGuard(Int_t cap)
TGLEnableGuard constructor.
Wrapper class for GLU quadric shape drawing object.
~TGLCapabilitySwitch()
Destructor - reset state if changed.
void Offset(Int_t dX, Int_t dY)
void Set(Double_t x, Double_t y, Double_t z)
TGLColor & operator=(const TGLColor &c)
Assignment operator.
void DrawAxes(Int_t frontPoint, const Int_t *viewport, const TGLVertex3 *box2D, const TGLPlotCoordinates *plotCoord, TAxis *xAxis, TAxis *yAxis, TAxis *zAxis)
Using front point, find, where to draw axes and which labels to use for them gVirtualX->SelectWindow(...
static const UChar_t fgRed[4]
TGLMatrix()
Construct default identity matrix:
TGLVertex3()
Construct a default (0.0, 0.0, 0.0) vertex.
Rgl::EOverlap Overlap(const TGLRect &other) const
Return overlap result (kInside, kOutside, kPartial) of this rect with 'other'.
void DrawQuadOutline(const TGLVertex3 &v1, const TGLVertex3 &v2, const TGLVertex3 &v3, const TGLVertex3 &v4)
Draw quad outline.
Char_t GetTransparency() const
Returns transparency value.
void Dump() const
Output 16 matrix components to std::cout.
TGLVector3 operator-() const
void EnableTexture(Int_t mode) const
Enable 1D texture.
static const double x2[5]
const Float_t gWhiteEmission[]
void Translate(const TGLVector3 &vect)
Shift matrix translation components by 'vect' in parent frame.
Double_t DistanceTo(const TGLVertex3 &vertex) const
Distance from plane to vertex.
const TGLVertex3 & operator-=(const TGLVector3 &val)
void DisableTexture() const
Disable 1D texture.
void Move3LF(Double_t x, Double_t y, Double_t z)
Translate in local frame along all base vectors simultaneously.
void Set(const TGLVertex3 &origin, const TGLVector3 &zAxis, const TGLVector3 &xAxis=0)
Set matrix which when applied puts local origin at 'origin' and the local Z axis in direction 'z'...
static void Color3ub(UChar_t r, UChar_t g, UChar_t b)
Wrapper for glColor3ub.
TGLVector3 fVector
Start vertex of line.
3 component (x/y/z) vertex class.
void Dump() const
Output plane equation to std::out.
~TGLCapabilityEnabler()
Destructor - reset state if changed.
TGLVertex3 & operator=(const TGLVertex3 &rhs)
static void DrawSphere(const TGLVertex3 &position, Double_t radius, const UChar_t rgba[4])
Draw sphere, centered on vertex 'position', with radius 'radius', color 'rgba'.
static GLUtesselator * GetDrawTesselator4dv()
Returns a tesselator for direct drawing when using 4-vertices with double precision.
static Float_t GetPointSizeScale()
Get global point-size scale.
static void Color4ub(UChar_t r, UChar_t g, UChar_t b, UChar_t a)
Wrapper for glColor4ub.
void RotateLF(Int_t i1, Int_t i2, Double_t amount)
Rotate in local frame.
void DrawTrapezoidTextured2(const Double_t ver[][2], Double_t zMin, Double_t zMax, Double_t tMin, Double_t tMax)
In polar coordinates, box became trapezoid.
const TGLColor & Markup() const
void RotatePF(Int_t i1, Int_t i2, Double_t amount)
Rotate in parent frame. Does optimised version of MultLeft.
static double p2(double t, double a, double b, double c)
static Int_t fgPickingRadius
Viewport (pixel base) 2D rectangle class.
std::vector< UChar_t > fBuffer
3 component (x/y/z) vector class.
std::vector< TGLPlane >::iterator TGLPlaneSet_i
static UInt_t fgDrawQuality
static Bool_t IsColorLocked()
Returns true if color lock-count is greater than 0.
static UInt_t LockColor()
Prevent further color changes.
static UInt_t UnlockColor()
Allow color changes.
TGLSelectionBuffer()
TGLSelectionBuffer constructor.
TGLVector3 Multiply(const TGLVector3 &v, Double_t w=1) const
Multiply vector.
void SetIdentity()
Set matrix to identity.
void Error(const char *location, const char *msgfmt,...)
void MultLeft(const TGLMatrix &lhs)
Multiply with matrix lhs on left.
static void SetDefaultDrawQuality(UInt_t dq)
static: set default draw quality
Int_t ColorToObjectID(const UChar_t *color, Bool_t highColor)
static void SetPointSizeScale(Float_t scale)
Set global point-size scale.
void SetContours(const std::vector< Double_t > *contours)
Clear :)
ClassDef(TColorLocker, 0)
void ObjectIDToColor(Int_t objectID, Bool_t highColor)
Object id encoded as rgb triplet.
static const UChar_t fgBlue[4]
TGLVector3 GetBaseVec(Int_t b) const
TGLColorSet & operator=(const TGLColorSet &s)
Assignment operator.
const UChar_t * GetColour(Double_t z) const
Get color.
static Float_t fgLineWidth
void DrawBoxFront(Double_t xMin, Double_t xMax, Double_t yMin, Double_t yMax, Double_t zMin, Double_t zMax, Int_t fp)
Draws lego's bar as a 3d box.
static Float_t fgPointSizeScale
void DrawError(Double_t xMin, Double_t xMax, Double_t yMin, Double_t yMax, Double_t zMin, Double_t zMax)
static void EndAttLine(Int_t pick_radius=0, Bool_t selection=kFALSE)
Restore previous line drawing state.
TGLFloatHolder(const TGLFloatHolder &)
TGuardBase & operator=(const TGuardBase &rhs)
static void SetLineWidthScale(Float_t scale)
Set global line-width scale.
void DrawSmoothFace(const TGLVertex3 &v1, const TGLVertex3 &v2, const TGLVertex3 &v3, const TGLVector3 &norm1, const TGLVector3 &norm2, const TGLVector3 &norm3)
Draws triangle face, each vertex has its own averaged normal.
Class to manage histogram axis.
IParamFunction interface (abstract class) describing multi-dimensional parameteric functions It is a ...
static void InitializeIfNeeded()
Initialize globals that require other libraries to be initialized.
ClassDef(TDrawQualityModifier, 0)
const Float_t gGreenEmission[]
const Float_t gRedEmission[]
static const UChar_t fgWhite[4]
static GLUtesselator * GetDrawTesselator4fv()
Returns a tesselator for direct drawing when using 4-vertices with single precision.
TOneArgGuard< Func, Arg > make_guard(Func f, Arg a)
Double_t GetTexCoord(Double_t z) const
Get tex coordinate.
std::pair< Int_t, Int_t > BinRange_t
TGLFloatHolder & operator=(const TGLFloatHolder &)
TGLColorSet()
Constructor. Sets default for dark background.
TDrawQualityScaler(Float_t fac)
TGLCapabilityEnabler & operator=(const TGLCapabilityEnabler &)
const TGLVertex3 & Start() const
static void Color4f(Float_t r, Float_t g, Float_t b, Float_t a)
Wrapper for glColor4f.
const Float_t gGrayEmission[]
Helper class for plot-painters holding information about axis ranges, numbers of bins and flags if ce...
void Minimum(const TGLVertex3 &other)
const TGLColor & Background() const
static void DrawNumber(const TString &num, const TGLVertex3 &pos, Bool_t center=kFALSE)
Draw number in string 'num' via internal 8x8-pixel bitmap on vertex 'pos'.
TGLUtil & operator=(const TGLUtil &)
static void Color4fv(const Float_t *rgba)
Wrapper for glColor4fv.
3D space, fixed length, line class, with direction / length 'vector', passing through point 'vertex'...
static Float_t PointSize()
Get the point-size, taking the global scaling into account.
static double p1(double t, double a, double b)
~TGLDisableGuard()
TGLDisableGuard destructor.
TGLPlane()
Construct a default plane of x + y + z = 0.
void DrawTransparentBox(Double_t xMin, Double_t xMax, Double_t yMin, Double_t yMax, Double_t zMin, Double_t zMax, Int_t fp)
Draws lego's bar as a 3d box.
TString AsString() const
Return string describing the color.
Bool_t operator==(const TGLVertex3 &rhs) const
TGLColor()
Default constructor. Color is initialized to black.
TGLVector3 & operator=(const TGLVertex3 &v)
TGLVertex3 NearestOn(const TGLVertex3 &point) const
Return nearest point on plane.
static const UChar_t fgGreen[4]
ClassDef(TGLSelectionBuffer, 0)
static void Color3f(Float_t r, Float_t g, Float_t b)
Wrapper for glColor3f.
const Int_t * CArr() const
Double_t Dot(const TGLVector3 &v1, const TGLVector3 &v2)
static Float_t fgPointLineScalingFactor
const TGLVertex3 End() const
static const double x1[5]
std::vector< TGLPlane > TGLPlaneSet_t
Double_t & operator[](Int_t index)
static Float_t fgScreenScalingFactor
void SetCorner(Int_t x, Int_t y)
void Negate()
Negate the plane.
TGLCapabilitySwitch(const TGLCapabilitySwitch &)
Bool_t ValidIndex(UInt_t index) const
void DrawTrapezoidTextured(const Double_t ver[][2], Double_t zMin, Double_t zMax, Double_t tMin, Double_t tMax)
In polar coordinates, box became trapezoid.
void Rotate(const TGLVertex3 &pivot, const TGLVector3 &axis, Double_t angle)
Update matrix so resulting transform has been rotated about 'pivot' (in parent frame), round vector 'axis', through 'angle' (radians) Equivalent to glRotate function, but with addition of translation and compounded on top of existing.
TGLVertex3 operator+(const TGLVertex3 &vertex1, const TGLVector3 &vertex2)
TGLDisableGuard & operator=(const TGLDisableGuard &)
void MultRight(const TGLMatrix &rhs)
Multiply with matrix rhs on right.
static void BeginExtendPickRegion(Float_t scale)
static void RenderPolyLine(const TAttLine &aline, Char_t transp, Float_t *p, Int_t n, Int_t pick_radius=0, Bool_t selection=kFALSE)
Render poly-line as specified by the p-array.
static void EndExtendPickRegion()
TGLSelectionBuffer & operator=(const TGLSelectionBuffer &)
static Vc_ALWAYS_INLINE int_v max(const int_v &x, const int_v &y)
Int_t GetPaletteSize() const
Get. Palette. Size.
void DrawTrapezoid(const Double_t ver[][2], Double_t zMin, Double_t zMax, Bool_t color=kTRUE)
void DrawSphere(TGLQuadric *quadric, Double_t xMin, Double_t xMax, Double_t yMin, Double_t yMax, Double_t zMin, Double_t zMax)
Cylinder for lego3.
static Float_t GetPointLineScalingFactor()
Return extra scaling factor for points and lines.
static Int_t CheckError(const char *loc)
Check current GL error state, outputting details via ROOT Error method if one.
const TGLVector3 & Vector() const
Concrete class describing an orientated (free) or axis aligned box of 8 vertices. ...
void GetColor(Float_t v, Float_t vmin, Float_t vmax, Int_t type, Float_t *rgba)
This function creates color for parametric surface's vertex, using its 'u' value. ...
TTwoArgsGuard(Func f, Arg1 a1, Arg2 a2)
virtual ~TGLMatrix()
Destroy matrix object.
TGLVector3 GetScale() const
Get local axis scaling factors.
Int_t Diagonal() const
Return the diagonal of the rectangle.
typedef void((*Func_t)())
TGLColor & Selection(Int_t i)
static void ResetDrawQuality()
static: reset draw quality
virtual ~TDrawQualityModifier()
const UChar_t * GetPixelColor(Int_t px, Int_t py) const
Get pixel color.
static Float_t GetLineWidthScale()
Returns global line-width scale.
TGLLine3(const TGLVertex3 &start, const TGLVertex3 &end)
Vector of line from fVertex.
Color_t GetColorIndex() const
Returns color-index representing the color.
TGLVector3 & operator/=(Double_t val)
~TGLEnableGuard()
TGLEnableGuard destructor.
TGLVertex3 & operator*=(Double_t f)
TGLMatrix & operator=(const TGLMatrix &rhs)
TGLDisableGuard(Int_t cap)
TGLDisableGuard constructor.
static void RenderCrosses(const TAttMarker &marker, Float_t *p, Int_t n, Bool_t sec_selection=kFALSE)
Render markers as crosses.
TGLCapabilityEnabler(const TGLCapabilityEnabler &)
static Float_t fgLineWidthScale
static GLUtesselator * GetDrawTesselator3dv()
Returns a tesselator for direct drawing when using 3-vertices with double precision.
void Maximum(const TGLVertex3 &other)
virtual ~TGLSelectionBuffer()
TGLSelectionBuffer destructor.
void Scale(const TGLVector3 &scale)
Set matrix axis scales to 'scale'.
TGLLevelPalette & operator=(const TGLLevelPalette &)
static Int_t GetPickingRadius()
Returns picking radius.
static void SetDrawQuality(UInt_t dq)
static: set draw quality
virtual ~TGLRect()
Destroy rect object.
const TGLColor & Foreground() const
virtual ~TGLVertex3()
Destroy vertex object.
static Float_t LineWidth()
Get the line-width, taking the global scaling into account.
void SetMaxRow(Int_t max)
TGLVector3 Cross(const TGLVector3 &v1, const TGLVector3 &v2)
void DrawCylinder(TGLQuadric *quadric, Double_t xMin, Double_t xMax, Double_t yMin, Double_t yMax, Double_t zMin, Double_t zMax)
Cylinder for lego3.
static Float_t fgPointSize
void Normalise()
Normalise the plane.
void Shift(TGLVector3 &shift)
Offset a vertex by vector 'shift'.
void DrawBoxFrontTextured(Double_t xMin, Double_t xMax, Double_t yMin, Double_t yMax, Double_t zMin, Double_t zMax, Double_t tMin, Double_t tMax, Int_t front)
Draws lego's bar as a 3d box LULULULU.
void SetColor(Int_t r, Int_t g, Int_t b, Int_t a=255)
Set color with Int_t values.
Bool_t GeneratePalette(UInt_t paletteSize, const Rgl::Range_t &zRange, Bool_t checkSize=kTRUE)
Try to find colors for palette.
const T * operator[](size_type ind) const
virtual ~TGLColorSet()
Destructor.
static void ColorAlpha(const TGLColor &color, UChar_t alpha)
Set color from TGLColor and alpha value.
double norm(double *x, double *p)
3D plane class - of format Ax + By + Cz + D = 0
const Float_t gOrangeEmission[]
virtual ~TGLVector3()
Destroy vector object.
void Draw() const
Draw line in current basic GL color.
static void SetDrawColors(const UChar_t rgba[4])
Set basic draw colors from 4 component 'rgba' Used by other TGLUtil drawing routines.
virtual ~TDrawQualityScaler()
const Double_t * CArr() const
TGLVector3()
Construct a default (0.0, 0.0, 0.0) vector.
static void Color4ubv(const UChar_t *rgba)
Wrapper for glColor4ubv.
void MoveLF(Int_t ai, Double_t amount)
Translate in local frame.
Bool_t ValidIndex(UInt_t index) const
TGuardBase(const TGuardBase &rhs)
void Set(Int_t x, Int_t y, Int_t width, Int_t height)
static void Color3ubv(const UChar_t *rgb)
Wrapper for glColor3ubv.
TOneArgGuard(Func f, Arg a)
static UInt_t GetDefaultDrawQuality()
static: get default draw quality
void Set(const TGLPlane &other)
Assign from other.
const std::vector< Double_t > * fContours
const TGLColor & Outline() const
std::pair< Bool_t, TGLLine3 > Intersection(const TGLPlane &p1, const TGLPlane &p2)
Find 3D line interestion of this plane with 'other'.