| library: libGeom #include "TGeoBBox.h" |
| Inheritance Chart: | ||||||||||||||||||||||||||||||||||||||||||||||||||||
|
protected:
virtual void FillBuffer3D(TBuffer3D& buffer, Int_t reqSections, Bool_t localFrame) const
public:
TGeoBBox()
TGeoBBox(Double_t dx, Double_t dy, Double_t dz, Double_t* origin = 0)
TGeoBBox(const char* name, Double_t dx, Double_t dy, Double_t dz, Double_t* origin = 0)
TGeoBBox(Double_t* param)
TGeoBBox(const TGeoBBox&)
virtual ~TGeoBBox()
static Bool_t AreOverlapping(const TGeoBBox* box1, const TGeoMatrix* mat1, const TGeoBBox* box2, const TGeoMatrix* mat2)
virtual Double_t Capacity() const
static TClass* Class()
virtual void ComputeBBox()
virtual void ComputeNormal(Double_t* point, Double_t* dir, Double_t* norm)
virtual Bool_t Contains(Double_t* point) const
virtual Bool_t CouldBeCrossed(Double_t* point, Double_t* dir) const
virtual Int_t DistancetoPrimitive(Int_t px, Int_t py)
virtual Double_t DistFromInside(Double_t* point, Double_t* dir, Int_t iact = 1, Double_t step = TGeoShape::Big(), Double_t* safe = 0) const
virtual Double_t DistFromOutside(Double_t* point, Double_t* dir, Int_t iact = 1, Double_t step = TGeoShape::Big(), Double_t* safe = 0) const
virtual TGeoVolume* Divide(TGeoVolume* voldiv, const char* divname, Int_t iaxis, Int_t ndiv, Double_t start, Double_t step)
virtual const char* GetAxisName(Int_t iaxis) const
virtual Double_t GetAxisRange(Int_t iaxis, Double_t& xlo, Double_t& xhi) const
virtual void GetBoundingCylinder(Double_t* param) const
virtual const TBuffer3D& GetBuffer3D(Int_t reqSections, Bool_t localFrame) const
virtual Int_t GetByteCount() const
virtual Double_t GetDX() const
virtual Double_t GetDY() const
virtual Double_t GetDZ() const
virtual Int_t GetFittingBox(const TGeoBBox* parambox, TGeoMatrix* mat, Double_t& dx, Double_t& dy, Double_t& dz) const
virtual TGeoShape* GetMakeRuntimeShape(TGeoShape* mother, TGeoMatrix* mat) const
virtual Int_t GetNmeshVertices() const
virtual const Double_t* GetOrigin() const
virtual void InspectShape() const
virtual TClass* IsA() const
virtual Bool_t IsCylType() const
virtual Bool_t IsNullBox() const
virtual Bool_t IsValidBox() const
virtual TBuffer3D* MakeBuffer3D() const
TGeoBBox& operator=(const TGeoBBox&)
virtual Double_t Safety(Double_t* point, Bool_t in = kTRUE) const
virtual void SavePrimitive(ostream& out, Option_t* option = "")
void SetBoxDimensions(Double_t dx, Double_t dy, Double_t dz, Double_t* origin = 0)
void SetBoxPoints(Double_t* points) const
virtual void SetDimensions(Double_t* param)
virtual void SetPoints(Double_t* points) const
virtual void SetPoints(Float_t* points) const
virtual void SetSegsAndPols(TBuffer3D& buffer) const
virtual void ShowMembers(TMemberInspector& insp, char* parent)
virtual void Sizeof3D() const
virtual void Streamer(TBuffer& b)
void StreamerNVirtual(TBuffer& b)
protected:
Double_t fDX X half-length
Double_t fDY Y half-length
Double_t fDZ Z half-length
Double_t fOrigin[3] box origin
Constructor where half-lengths are provided.
Constructor with shape name.
Constructor based on the array of parameters param[0] - half-length in x param[1] - half-length in y param[2] - half-length in z
Check if 2 positioned boxes overlap.
Computes normal to closest surface from POINT.
Decides fast if the bounding box could be crossed by a vector.
Compute closest distance from point px,py to each corner.
--- Divide this box shape belonging to volume "voldiv" into ndiv equal volumes called divname, from start position with the given step. Returns pointer to created division cell volume. In case a wrong division axis is supplied, returns pointer to volume to be divided.
Compute distance from inside point to surface of the box. Boundary safe algorithm.
Compute distance from outside point to surface of the box. Boundary safe algorithm.
Get range of shape for a given axis.
Fill vector param[4] with the bounding cylinder parameters. The order is the following : Rmin, Rmax, Phi1, Phi2
Fills real parameters of a positioned box inside this one. Returns 0 if successfull.
In case shape has some negative parameters, these has to be computed in order to fit the mother
Creates a TBuffer3D describing *this* shape. Coordinates are in local reference frame.
Computes the closest distance from given point to this shape.
Save a primitive as a C++ statement(s) on output stream "out".
Set parameters of the box.
Set dimensions based on the array of parameters param[0] - half-length in x param[1] - half-length in y param[2] - half-length in z
/// fill size of this 3-D object / TVirtualGeoPainter *painter = gGeoManager->GetGeomPainter(); / if (painter) painter->AddSize3D(8, 12, 6);
Fills a static 3D buffer and returns a reference.
Fills the supplied buffer, with sections in desired frame See TBuffer3D.h for explanation of sections, frame etc.