library: libGeom
#include "TGeoBoolNode.h"

TGeoIntersection


class description - source file - inheritance tree (.pdf)

class TGeoIntersection : public TGeoBoolNode

Inheritance Chart:
TObject
<-
TGeoBoolNode
<-
TGeoIntersection

    public:
TGeoIntersection() TGeoIntersection(const char* expr1, const char* expr2) TGeoIntersection(TGeoShape* left, TGeoShape* right, TGeoMatrix* lmat = 0, TGeoMatrix* rmat = 0) TGeoIntersection(const TGeoIntersection&) virtual ~TGeoIntersection() static TClass* Class() virtual void ComputeBBox(Double_t& dx, Double_t& dy, Double_t& dz, Double_t* origin) virtual void ComputeNormal(Double_t* point, Double_t* dir, Double_t* norm) virtual Bool_t Contains(Double_t* point) 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 = 0, Double_t* safe = 0) const virtual Double_t DistFromOutside(Double_t* point, Double_t* dir, Int_t iact = 1, Double_t step = 0, Double_t* safe = 0) const virtual TGeoBoolNode::EGeoBoolType GetBooleanOperator() const virtual Int_t GetNpoints() const virtual TClass* IsA() const TGeoIntersection& operator=(const TGeoIntersection&) virtual void Paint(Option_t* option) virtual Double_t Safety(Double_t* point, Bool_t in = kTRUE) const virtual void SavePrimitive(ofstream& out, Option_t* option) virtual void SetPoints(Double_t* points) const virtual void SetPoints(Float_t* points) const virtual void ShowMembers(TMemberInspector& insp, char* parent) virtual void Sizeof3D() const virtual void Streamer(TBuffer& b) void StreamerNVirtual(TBuffer& b)

Data Members




Class Description


void Paint(Option_t *option)

TGeoIntersection()
 Default constructor

TGeoIntersection(const char *expr1, const char *expr2) :TGeoBoolNode(expr1, expr2)
 Constructor

TGeoIntersection(TGeoShape *left, TGeoShape *right, TGeoMatrix *lmat, TGeoMatrix *rmat) :TGeoBoolNode(left,right,lmat,rmat)
 Constructor providing pointers to components

~TGeoIntersection()
 Destructor
 --- deletion of components handled by TGeoManager class.

void ComputeBBox(Double_t &dx, Double_t &dy, Double_t &dz, Double_t *origin)
 Compute bounding box corresponding to a intersection of two shapes.

void ComputeNormal(Double_t *point, Double_t *dir, Double_t *norm)

Bool_t Contains(Double_t *point) const
 Find if a intersection of two shapes contains a given point

Int_t DistanceToPrimitive(Int_t /*px*/, Int_t /*py*/)
 Compute minimum distance to shape vertices

Double_t DistFromInside(Double_t *point, Double_t *dir, Int_t iact, Double_t step, Double_t *safe) const
 Compute distance from a given point to outside.

Double_t DistFromOutside(Double_t *point, Double_t *dir, Int_t iact, Double_t step, Double_t *safe) const
 Compute distance from a given point to inside.

Int_t GetNpoints() const
 Returns number of vertices for the composite shape described by this intersection.

Double_t Safety(Double_t *point, Bool_t) const
 Compute safety distance for a union node;

void SavePrimitive(ofstream &out, Option_t *option)
 Save a primitive as a C++ statement(s) on output stream "out".

void SetPoints(Double_t * /*points*/) const
 Fill buffer with shape vertices.

void SetPoints(Float_t * /*points*/) const
 Fill buffer with shape vertices.

void Sizeof3D() const
 Register 3D size of this shape.



Inline Functions


        TGeoBoolNode::EGeoBoolType GetBooleanOperator() const
                           TClass* Class()
                           TClass* IsA() const
                              void ShowMembers(TMemberInspector& insp, char* parent)
                              void Streamer(TBuffer& b)
                              void StreamerNVirtual(TBuffer& b)
                  TGeoIntersection TGeoIntersection(const TGeoIntersection&)
                 TGeoIntersection& operator=(const TGeoIntersection&)


Author: Andrei Gheata 30/05/02
Last update: :$Name: $:$Id: TGeoBoolNode.cxx,v 1.22 2005/05/25 14:25:16 brun Exp $
Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *


ROOT page - Class index - Class Hierarchy - Top of the page

This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.