RootCsg Namespace Reference


Classes

class  TBaseMesh
class  Tuple2
class  TVector2
class  TPoint2
class  Tuple3
class  TVector3
class  TPoint3
class  Tuple4
class  TMatrix3x3
class  TLine3
class  TPlane3
class  TBBox
class  TBBoxNode
class  TBBoxLeaf
class  TBBoxInternal
class  TBBoxTree
class  TBlenderVProp
class  TPolygonGeometry
class  TMesh
class  TSplitFunction
class  TDefaultSplitFunctionBinder
class  TMeshWrapper
class  TPolygonBase
class  TreeIntersector
class  TRayTreeIntersector
class  TVertexBase
class  TCVertex
class  TConnectedMeshWrapper
class  TSplitFunctionBinder
struct  NullType_t

Typedefs

typedef TBBoxLeafLeafPtr_t
typedef TBBoxNodeNodePtr_t
typedef TBBoxInternalInternalPtr_t
typedef std::vector< Int_tPIndexList_t
typedef PIndexList_t::iterator PIndexIt_t
typedef std::vector< PIndexList_tOverlapTable_t
typedef TPolygonBase< TBlenderVProp,
NullType_t
TestPolygon_t
typedef TMesh< TestPolygon_t,
TVertexBase
AMesh_t
typedef TMesh< TestPolygon_t,
TCVertex
AConnectedMesh_t
typedef TMeshWrapper< AMesh_tAMeshWrapper_t
typedef TConnectedMeshWrapper<
AConnectedMesh_t
AConnectedMeshWrapper_t

Functions

TBaseMeshConvertToMesh (const TBuffer3D &buff)
TBaseMeshBuildUnion (const TBaseMesh *leftOperand, const TBaseMesh *rightOperand)
TBaseMeshBuildIntersection (const TBaseMesh *leftOperand, const TBaseMesh *rightOperand)
TBaseMeshBuildDifference (const TBaseMesh *leftOperand, const TBaseMesh *rightOperand)
Int_t sign (Double_t x)
Bool_t fuzzy_zero (Double_t x)
Bool_t fuzzy_zero2 (Double_t x)
Bool_t operator== (const Tuple2 &t1, const Tuple2 &t2)
TVector2 operator+ (const TVector2 &v1, const TVector2 &v2)
TVector2 operator- (const TVector2 &v1, const TVector2 &v2)
TVector2 operator- (const TVector2 &v)
TVector2 operator * (const TVector2 &v, Double_t s)
TVector2 operator * (Double_t s, const TVector2 &v)
TVector2 operator/ (const TVector2 &v, Double_t s)
Double_t dot (const TVector2 &v1, const TVector2 &v2)
Double_t length2 (const TVector2 &v)
Double_t length (const TVector2 &v)
Bool_t fuzzy_zero (const TVector2 &v)
Bool_t fuzzy_equal (const TVector2 &v1, const TVector2 &v2)
Double_t Angle (const TVector2 &v1, const TVector2 &v2)
TPoint2 operator+ (const TPoint2 &p, const TVector2 &v)
TPoint2 operator- (const TPoint2 &p, const TVector2 &v)
TVector2 operator- (const TPoint2 &p1, const TPoint2 &p2)
Double_t distance (const TPoint2 &p1, const TPoint2 &p2)
Double_t distance2 (const TPoint2 &p1, const TPoint2 &p2)
TPoint2 lerp (const TPoint2 &p1, const TPoint2 &p2, Double_t t)
Bool_t operator== (const Tuple3 &t1, const Tuple3 &t2)
TVector3 operator * (const TVector3 &v, Double_t s)
TVector3 operator/ (const TVector3 &v, Double_t s)
TVector3 operator+ (const TVector3 &v1, const TVector3 &v2)
TVector3 operator- (const TVector3 &v1, const TVector3 &v2)
TVector3 operator- (const TVector3 &v)
TVector3 operator * (Double_t s, const TVector3 &v)
TVector3 operator * (const TVector3 &v1, const TVector3 &v2)
Double_t dot (const TVector3 &v1, const TVector3 &v2)
Double_t length2 (const TVector3 &v)
Double_t length (const TVector3 &v)
Bool_t fuzzy_zero (const TVector3 &v)
Bool_t fuzzy_equal (const TVector3 &v1, const TVector3 &v2)
Double_t Angle (const TVector3 &v1, const TVector3 &v2)
TVector3 cross (const TVector3 &v1, const TVector3 &v2)
Double_t triple (const TVector3 &v1, const TVector3 &v2, const TVector3 &v3)
TPoint3 operator+ (const TPoint3 &p, const TVector3 &v)
TPoint3 operator- (const TPoint3 &p, const TVector3 &v)
TVector3 operator- (const TPoint3 &p1, const TPoint3 &p2)
Double_t distance (const TPoint3 &p1, const TPoint3 &p2)
Double_t distance2 (const TPoint3 &p1, const TPoint3 &p2)
TPoint3 lerp (const TPoint3 &p1, const TPoint3 &p2, Double_t t)
Bool_t operator== (const Tuple4 &t1, const Tuple4 &t2)
TVector3 operator * (const TMatrix3x3 &m, const TVector3 &v)
TVector3 operator * (const TVector3 &v, const TMatrix3x3 &m)
TMatrix3x3 operator * (const TMatrix3x3 &m1, const TMatrix3x3 &m2)
TMatrix3x3 mmult_transpose_left (const TMatrix3x3 &m1, const TMatrix3x3 &m2)
TMatrix3x3 mmult_transpose_right (const TMatrix3x3 &m1, const TMatrix3x3 &m2)
Bool_t intersect (const TBBox &a, const TBBox &b)
Bool_t intersect (const TPlane3 &p1, const TPlane3 &p2, TLine3 &output)
Bool_t intersect_2d_no_bounds_check (const TLine3 &l1, const TLine3 &l2, Int_t majAxis, Double_t &l1Param, Double_t &l2Param)
Bool_t intersect_2d_bounds_check (const TLine3 &l1, const TLine3 &l2, Int_t majAxis, Double_t &l1Param, Double_t &l2Param)
Int_t compute_classification (const Double_t &distance, const Double_t &epsil)
template<typename TGBinder>
Bool_t intersect_poly_with_line_2d (const TLine3 &l, const TGBinder &p1, const TPlane3 &plane, Double_t &a, Double_t &b)
template<typename TGBinder>
Bool_t instersect_poly_with_line_3d (const TLine3 &l, const TGBinder &p1, const TPlane3 &plane, Double_t &a)
template<typename TGBinder>
Bool_t point_in_polygon_test_3d (const TGBinder &p1, const TPlane3 &plane, const TPoint3 &origin, const TPoint3 &pointOnPlane)
template<typename TGBinder>
TPoint3 polygon_mid_point (const TGBinder &p1)
template<typename TGBinder>
Int_t which_side (const TGBinder &p1, const TPlane3 &plane1)
template<typename TGBinder>
TLine3 polygon_mid_point_ray (const TGBinder &p1, const TPlane3 &plane)
template<typename TGBinder>
TPlane3 compute_plane (const TGBinder &poly)
template<typename TGBinder>
TBBox fit_bbox (const TGBinder &p1)
template<typename TGBinderA, typename TGBinderB>
Bool_t intersect_polygons (const TGBinderA &p1, const TGBinderB &p2, const TPlane3 &plane1, const TPlane3 &plane2)
template<class TMesh>
void build_split_group (const TMesh &meshA, const TMesh &meshB, const TBBoxTree &treeA, const TBBoxTree &treeB, OverlapTable_t &aOverlapsB, OverlapTable_t &bOverlapsA)
template<class CMesh, class TMesh>
void partition_mesh (CMesh &mesh, const TMesh &mesh2, const OverlapTable_t &table)
template<typename CMesh, typename TMesh>
void classify_mesh (const TMesh &meshA, const TBBoxTree &aTree, CMesh &meshB)
template<typename CMesh, typename TMesh>
void extract_classification (CMesh &meshA, TMesh &newMesh, Int_t classification, Bool_t reverse)
template<typename MeshA, typename MeshB>
void copy_mesh (const MeshA &source, MeshB &output)
void build_tree (const AMesh_t &mesh, TBBoxTree &tree)
void extract_classification_preserve (const AMesh_t &meshA, const AMesh_t &meshB, const TBBoxTree &aTree, const TBBoxTree &bTree, const OverlapTable_t &aOverlapsB, const OverlapTable_t &bOverlapsA, Int_t aClassification, Int_t bClassification, Bool_t reverseA, Bool_t reverseB, AMesh_t &output)
void extract_classification (const AMesh_t &meshA, const AMesh_t &meshB, const TBBoxTree &aTree, const TBBoxTree &bTree, const OverlapTable_t &aOverlapsB, const OverlapTable_t &bOverlapsA, Int_t aClassification, Int_t bClassification, Bool_t reverseA, Bool_t reverseB, AMesh_t &output)
AMesh_tbuild_intersection (const AMesh_t &meshA, const AMesh_t &meshB, Bool_t preserve)
AMesh_tbuild_union (const AMesh_t &meshA, const AMesh_t &meshB, Bool_t preserve)
AMesh_tbuild_difference (const AMesh_t &meshA, const AMesh_t &meshB, Bool_t preserve)

Variables

const Double_t epsilon = 1e-10
const Double_t epsilon2 = 1e-20
const Double_t infinity = 1e50
const Int_t cofacTable [3][2] = {{1,2}, {0,2}, {0,1}}


Detailed Description

I've modified some very nice bounding box tree code from Gino van der Bergen's Free Solid Library below. It's basically the same code - but I've hacked out the transformation stuff as I didn't understand it. I've also made it far less elegant! Laurence Bourn.


Typedef Documentation

typedef TMesh<TestPolygon_t,TCVertex > RootCsg::AConnectedMesh_t

Definition at line 2244 of file CsgOps.cxx.

typedef TConnectedMeshWrapper<AConnectedMesh_t> RootCsg::AConnectedMeshWrapper_t

Definition at line 2246 of file CsgOps.cxx.

typedef TMesh<TestPolygon_t,TVertexBase> RootCsg::AMesh_t

Definition at line 2243 of file CsgOps.cxx.

typedef TMeshWrapper<AMesh_t> RootCsg::AMeshWrapper_t

Definition at line 2245 of file CsgOps.cxx.

typedef TBBoxInternal* RootCsg::InternalPtr_t

Definition at line 1405 of file CsgOps.cxx.

typedef TBBoxLeaf* RootCsg::LeafPtr_t

Definition at line 1394 of file CsgOps.cxx.

typedef TBBoxNode* RootCsg::NodePtr_t

Definition at line 1395 of file CsgOps.cxx.

typedef std::vector< PIndexList_t > RootCsg::OverlapTable_t

Definition at line 1969 of file CsgOps.cxx.

typedef PIndexList_t::iterator RootCsg::PIndexIt_t

Definition at line 1968 of file CsgOps.cxx.

typedef std::vector<Int_t> RootCsg::PIndexList_t

Definition at line 1967 of file CsgOps.cxx.

typedef TPolygonBase<TBlenderVProp, NullType_t> RootCsg::TestPolygon_t

Definition at line 2242 of file CsgOps.cxx.


Function Documentation

Double_t RootCsg::Angle ( const TVector3 v1,
const TVector3 v2 
)

Definition at line 735 of file CsgOps.cxx.

References v1.

Double_t RootCsg::Angle ( const TVector2 v1,
const TVector2 v2 
)

Definition at line 339 of file CsgOps.cxx.

References v1.

AMesh_t* RootCsg::build_difference ( const AMesh_t &  meshA,
const AMesh_t &  meshB,
Bool_t  preserve 
)

Definition at line 2478 of file CsgOps.cxx.

References build_split_group(), build_tree(), extract_classification(), extract_classification_preserve(), kFALSE, kTRUE, output(), and RootCsg::TMesh< TPolygon, TVertex >::Polys().

Referenced by BuildDifference().

AMesh_t* RootCsg::build_intersection ( const AMesh_t &  meshA,
const AMesh_t &  meshB,
Bool_t  preserve 
)

Definition at line 2426 of file CsgOps.cxx.

References build_split_group(), build_tree(), extract_classification(), extract_classification_preserve(), kFALSE, output(), and RootCsg::TMesh< TPolygon, TVertex >::Polys().

Referenced by BuildIntersection().

template<class TMesh>
void RootCsg::build_split_group ( const TMesh &  meshA,
const TMesh &  meshB,
const TBBoxTree &  treeA,
const TBBoxTree &  treeB,
OverlapTable_t &  aOverlapsB,
OverlapTable_t &  bOverlapsA 
)

Definition at line 2250 of file CsgOps.cxx.

References RootCsg::TMesh< TPolygon, TVertex >::Polys().

Referenced by build_difference(), build_intersection(), and build_union().

void RootCsg::build_tree ( const AMesh_t &  mesh,
TBBoxTree &  tree 
)

Definition at line 2359 of file CsgOps.cxx.

References RootCsg::TBBoxTree::BuildTree(), fit_bbox(), i, and RootCsg::TMesh< TPolygon, TVertex >::Polys().

Referenced by build_difference(), build_intersection(), and build_union().

AMesh_t* RootCsg::build_union ( const AMesh_t &  meshA,
const AMesh_t &  meshB,
Bool_t  preserve 
)

Definition at line 2452 of file CsgOps.cxx.

References build_split_group(), build_tree(), extract_classification(), extract_classification_preserve(), kFALSE, output(), and RootCsg::TMesh< TPolygon, TVertex >::Polys().

Referenced by BuildUnion().

TBaseMesh * RootCsg::BuildDifference ( const TBaseMesh *  leftOperand,
const TBaseMesh *  rightOperand 
)

Definition at line 2582 of file CsgOps.cxx.

References build_difference(), kFALSE, and l.

Referenced by TGLScenePad::BuildComposite().

TBaseMesh * RootCsg::BuildIntersection ( const TBaseMesh *  leftOperand,
const TBaseMesh *  rightOperand 
)

Definition at line 2576 of file CsgOps.cxx.

References build_intersection(), kFALSE, and l.

Referenced by TGLScenePad::BuildComposite().

TBaseMesh * RootCsg::BuildUnion ( const TBaseMesh *  leftOperand,
const TBaseMesh *  rightOperand 
)

Definition at line 2570 of file CsgOps.cxx.

References build_union(), kFALSE, and l.

Referenced by TGLScenePad::BuildComposite().

template<typename CMesh, typename TMesh>
void RootCsg::classify_mesh ( const TMesh &  meshA,
const TBBoxTree &  aTree,
CMesh &  meshB 
)

Definition at line 2297 of file CsgOps.cxx.

References i, RootCsg::TLine3::Origin(), and polygon_mid_point_ray().

Referenced by extract_classification(), and extract_classification_preserve().

Int_t RootCsg::compute_classification ( const Double_t distance,
const Double_t epsil 
)

Definition at line 1610 of file CsgOps.cxx.

References TMath::Abs().

Referenced by RootCsg::TSplitFunction< TMesh, TSplitFunctionBinder >::SplitPolygon().

template<typename TGBinder>
TPlane3 RootCsg::compute_plane ( const TGBinder &  poly  ) 

Definition at line 1708 of file CsgOps.cxx.

References RootCsg::TVector3::Cross(), RootCsg::TVector3::FuzzyZero(), and j.

Referenced by RootCsg::TMeshWrapper< TMesh >::ComputePlanes().

TBaseMesh * RootCsg::ConvertToMesh ( const TBuffer3D buff  ) 

Definition at line 2504 of file CsgOps.cxx.

References RootCsg::TMeshWrapper< TMesh >::ComputePlanes(), currPoly, TBuffer3D::fPnts, TBuffer3D::fPols, TBuffer3D::fSegs, i, j, TBuffer3D::NbPnts(), TBuffer3D::NbPols(), RootCsg::TMesh< TPolygon, TVertex >::Polys(), s1, s2, segs, and RootCsg::TMesh< TPolygon, TVertex >::Verts().

Referenced by TGLScenePad::AddObject().

template<typename MeshA, typename MeshB>
void RootCsg::copy_mesh ( const MeshA &  source,
MeshB &  output 
)

Definition at line 2343 of file CsgOps.cxx.

References copy().

Referenced by extract_classification_preserve().

TVector3 RootCsg::cross ( const TVector3 v1,
const TVector3 v2 
)

Definition at line 741 of file CsgOps.cxx.

References v1.

Referenced by TGLRotateManip::Angle(), ROOT::Minuit2::MnContours::Contour(), ROOT::Minuit2::MnMinos::FindCrossValue(), RooProdPdf::getPartIntList(), TGeoXtru::GetPlaneNormal(), TGeoArb8::GetPlaneNormal(), TGeoArb8::InsidePolygon(), TGeoXtru::IsPointInsidePlane(), TQuaternion::MultiplyLeft(), TQuaternion::operator *=(), ROOT::Minuit2::MnCross::operator()(), TGraphPainter::PaintPolyLineHatches(), TEveCalo3DGL::RenderBox(), and TQuaternion::Rotation().

Double_t RootCsg::distance ( const TPoint3 &  p1,
const TPoint3 &  p2 
)

Definition at line 833 of file CsgOps.cxx.

References p1(), and p2().

Referenced by TGraph2D::DistancetoPrimitive(), TBox::DistancetoPrimitive(), TPolyLine::DistancetoPrimitive(), TF1::DistancetoPrimitive(), TF2::DistancetoPrimitive(), TTreePerfStats::DistancetoPrimitive(), THStack::DistancetoPrimitive(), TMultiGraph::DistancetoPrimitive(), TPad::DistancetoPrimitive(), TPolyMarker::DistancetoPrimitive(), TGraphPainter::DistancetoPrimitiveHelper(), TMVA::kNN::Find(), Memstat::find_string(), memstat::find_string(), glViewerLOD(), FTBBox::Move(), nucleus(), and TMVA::PDEFoam::WeightGaus().

Double_t RootCsg::distance ( const TPoint2 &  p1,
const TPoint2 &  p2 
)

Definition at line 427 of file CsgOps.cxx.

References p1(), and p2().

Double_t RootCsg::distance2 ( const TPoint3 &  p1,
const TPoint3 &  p2 
)

Definition at line 839 of file CsgOps.cxx.

References p1(), and p2().

Double_t RootCsg::distance2 ( const TPoint2 &  p1,
const TPoint2 &  p2 
)

Definition at line 434 of file CsgOps.cxx.

References p1(), and p2().

Double_t RootCsg::dot ( const TVector3 v1,
const TVector3 v2 
)

Definition at line 705 of file CsgOps.cxx.

References v1.

Referenced by TChain::AddFile(), TTree::BronchExec(), TApplicationRemote::CollectInput(), TGeoTrd1::ComputeNormal(), TGeoTrd2::ComputeNormal(), THbookFile::Convert2root(), TProofServ::CopyFromCache(), TProofLite::CopyMacroToCache(), TProofServ::CopyToCache(), TGeoPatternCylR::FindNode(), TGeoPatternParaX::FindNode(), TGeoPatternParaY::FindNode(), TGeoPatternCylPhi::FindNode(), XrdSecProtocolsss::getLID(), glewContextInit(), TBranchElement::Init(), TBuildRealData::Inspect(), TGeoPolygon::IsRightSided(), TProof::Load(), main(), Mult(), names_dump(), TGaxis::PaintAxis(), R__FindBranchHelper(), TASImage::ReadImage(), TBranchElement::ReadLeavesMakeClass(), TProofPlayer::ReinitSelector(), TQtWidget::Save(), TSpline5::SaveAs(), TSpline3::SaveAs(), TWinNTSystem::SetProgname(), TEveTrackPropagator::StepRungeKutta(), testDot_C(), testInnerProd_C(), TMacro::TMacro(), and XrdCmsClientMan::XrdCmsClientMan().

Double_t RootCsg::dot ( const TVector2 v1,
const TVector2 v2 
)

Definition at line 308 of file CsgOps.cxx.

References v1.

Referenced by RootCsg::TMatrix3x3::Inverse(), and operator *().

void RootCsg::extract_classification ( const AMesh_t &  meshA,
const AMesh_t &  meshB,
const TBBoxTree &  aTree,
const TBBoxTree &  bTree,
const OverlapTable_t &  aOverlapsB,
const OverlapTable_t &  bOverlapsA,
Int_t  aClassification,
Int_t  bClassification,
Bool_t  reverseA,
Bool_t  reverseB,
AMesh_t &  output 
)

Definition at line 2401 of file CsgOps.cxx.

References classify_mesh(), extract_classification(), output(), and partition_mesh().

template<typename CMesh, typename TMesh>
void RootCsg::extract_classification ( CMesh &  meshA,
TMesh &  newMesh,
Int_t  classification,
Bool_t  reverse 
)

Definition at line 2320 of file CsgOps.cxx.

References i, j, RootCsg::TMesh< TPolygon, TVertex >::Polys(), TPolyLine::Size(), and RootCsg::TMesh< TPolygon, TVertex >::Verts().

Referenced by build_difference(), build_intersection(), build_union(), extract_classification(), and extract_classification_preserve().

void RootCsg::extract_classification_preserve ( const AMesh_t &  meshA,
const AMesh_t &  meshB,
const TBBoxTree &  aTree,
const TBBoxTree &  bTree,
const OverlapTable_t &  aOverlapsB,
const OverlapTable_t &  bOverlapsA,
Int_t  aClassification,
Int_t  bClassification,
Bool_t  reverseA,
Bool_t  reverseB,
AMesh_t &  output 
)

Definition at line 2372 of file CsgOps.cxx.

References RootCsg::TConnectedMeshWrapper< TMesh >::BuildVertexPolyLists(), classify_mesh(), copy_mesh(), extract_classification(), output(), and partition_mesh().

Referenced by build_difference(), build_intersection(), and build_union().

template<typename TGBinder>
TBBox RootCsg::fit_bbox ( const TGBinder &  p1  ) 

Definition at line 1731 of file CsgOps.cxx.

References i, RootCsg::TBBox::Include(), and RootCsg::TBBox::SetEmpty().

Referenced by build_tree().

Bool_t RootCsg::fuzzy_equal ( const TVector3 v1,
const TVector3 v2 
)

Definition at line 729 of file CsgOps.cxx.

References fuzzy_zero(), and v1.

Bool_t RootCsg::fuzzy_equal ( const TVector2 v1,
const TVector2 v2 
)

Definition at line 333 of file CsgOps.cxx.

References fuzzy_zero(), and v1.

Bool_t RootCsg::fuzzy_zero ( const TVector3 v  ) 

Definition at line 723 of file CsgOps.cxx.

Referenced by fuzzy_equal(), RootCsg::TVector3::FuzzyZero(), and RootCsg::TVector3::SafeNormalized().

Bool_t RootCsg::fuzzy_zero ( const TVector2 v  ) 

Definition at line 327 of file CsgOps.cxx.

Bool_t RootCsg::fuzzy_zero ( Double_t  x  ) 

Definition at line 94 of file CsgOps.cxx.

References TMath::Abs(), and epsilon.

Referenced by instersect_poly_with_line_3d(), intersect_2d_no_bounds_check(), and which_side().

Bool_t RootCsg::fuzzy_zero2 ( Double_t  x  ) 

Definition at line 100 of file CsgOps.cxx.

References TMath::Abs(), and epsilon2.

Referenced by RootCsg::TVector2::FuzzyZero().

template<typename TGBinder>
Bool_t RootCsg::instersect_poly_with_line_3d ( const TLine3 &  l,
const TGBinder &  p1,
const TPlane3 &  plane,
Double_t a 
)

Definition at line 1642 of file CsgOps.cxx.

References RootCsg::TVector3::Dot(), fuzzy_zero(), kFALSE, l, RootCsg::TPlane3::Normal(), point_in_polygon_test_3d(), and RootCsg::TPlane3::Scalar().

Referenced by RootCsg::TRayTreeIntersector< TMesh >::FindIntersectingPolygons().

Bool_t RootCsg::intersect ( const TPlane3 &  p1,
const TPlane3 &  p2,
TLine3 &  output 
)

Definition at line 1572 of file CsgOps.cxx.

References RootCsg::TMatrix3x3::Inverse(), kFALSE, kTRUE, output(), p1(), and p2().

Referenced by TGeoVoxelFinder::GetCheckList(), and TGeoVoxelFinder::GetVoxelCandidates().

Bool_t RootCsg::intersect ( const TBBox &  a,
const TBBox &  b 
)

Definition at line 1368 of file CsgOps.cxx.

References a, TMath::Abs(), and b.

Referenced by intersect_polygons(), and RootCsg::TreeIntersector< TMesh >::MarkIntersectingPolygons().

Bool_t RootCsg::intersect_2d_bounds_check ( const TLine3 &  l1,
const TLine3 &  l2,
Int_t  majAxis,
Double_t l1Param,
Double_t l2Param 
)

Definition at line 1601 of file CsgOps.cxx.

References intersect_2d_no_bounds_check(), RootCsg::TLine3::IsParameterOnLine(), and kFALSE.

Referenced by intersect_poly_with_line_2d().

Bool_t RootCsg::intersect_2d_no_bounds_check ( const TLine3 &  l1,
const TLine3 &  l2,
Int_t  majAxis,
Double_t l1Param,
Double_t l2Param 
)

Definition at line 1585 of file CsgOps.cxx.

References cofacTable, RootCsg::TLine3::Direction(), fuzzy_zero(), kFALSE, kTRUE, and RootCsg::TLine3::Origin().

Referenced by intersect_2d_bounds_check().

template<typename TGBinder>
Bool_t RootCsg::intersect_poly_with_line_2d ( const TLine3 &  l,
const TGBinder &  p1,
const TPlane3 &  plane,
Double_t a,
Double_t b 
)

Definition at line 1618 of file CsgOps.cxx.

References RootCsg::TVector3::ClosestAxis(), i, infinity, intersect_2d_bounds_check(), j, l, TMath::Max(), TMath::Min(), and RootCsg::TPlane3::Normal().

Referenced by intersect_polygons().

template<typename TGBinderA, typename TGBinderB>
Bool_t RootCsg::intersect_polygons ( const TGBinderA &  p1,
const TGBinderB &  p2,
const TPlane3 &  plane1,
const TPlane3 &  plane2 
)

Definition at line 1741 of file CsgOps.cxx.

References intersect(), intersect_poly_with_line_2d(), kFALSE, TMath::Max(), and TMath::Min().

Referenced by RootCsg::TreeIntersector< TMesh >::MarkIntersectingPolygons(), and partition_mesh().

Double_t RootCsg::length ( const TVector3 v  ) 

Definition at line 717 of file CsgOps.cxx.

Double_t RootCsg::length ( const TVector2 v  ) 

Definition at line 321 of file CsgOps.cxx.

Double_t RootCsg::length2 ( const TVector3 v  ) 

Definition at line 711 of file CsgOps.cxx.

Referenced by FT_Stroker_CubicTo().

Double_t RootCsg::length2 ( const TVector2 v  ) 

Definition at line 315 of file CsgOps.cxx.

TPoint3 RootCsg::lerp ( const TPoint3 &  p1,
const TPoint3 &  p2,
Double_t  t 
)

Definition at line 845 of file CsgOps.cxx.

References p1(), and p2().

TPoint2 RootCsg::lerp ( const TPoint2 &  p1,
const TPoint2 &  p2,
Double_t  t 
)

Definition at line 441 of file CsgOps.cxx.

References p1(), and p2().

TMatrix3x3 RootCsg::mmult_transpose_left ( const TMatrix3x3 &  m1,
const TMatrix3x3 &  m2 
)

Definition at line 1085 of file CsgOps.cxx.

TMatrix3x3 RootCsg::mmult_transpose_right ( const TMatrix3x3 &  m1,
const TMatrix3x3 &  m2 
)

Definition at line 1099 of file CsgOps.cxx.

References Dot().

TMatrix3x3 RootCsg::operator * ( const TMatrix3x3 &  m1,
const TMatrix3x3 &  m2 
)

Definition at line 1077 of file CsgOps.cxx.

References RootCsg::TMatrix3x3::Tdot().

TVector3 RootCsg::operator * ( const TVector3 v,
const TMatrix3x3 &  m 
)

Definition at line 1071 of file CsgOps.cxx.

References m.

TVector3 RootCsg::operator * ( const TMatrix3x3 &  m,
const TVector3 v 
)

Definition at line 1065 of file CsgOps.cxx.

References dot(), and m.

TVector3 RootCsg::operator * ( const TVector3 v1,
const TVector3 v2 
)

Definition at line 699 of file CsgOps.cxx.

References v1.

TVector3 RootCsg::operator * ( Double_t  s,
const TVector3 v 
)

Definition at line 693 of file CsgOps.cxx.

TVector3 RootCsg::operator * ( const TVector3 v,
Double_t  s 
)

Definition at line 600 of file CsgOps.cxx.

TVector2 RootCsg::operator * ( Double_t  s,
const TVector2 v 
)

Definition at line 223 of file CsgOps.cxx.

TVector2 RootCsg::operator * ( const TVector2 v,
Double_t  s 
)

Definition at line 216 of file CsgOps.cxx.

TPoint3 RootCsg::operator+ ( const TPoint3 &  p,
const TVector3 v 
)

Definition at line 815 of file CsgOps.cxx.

References p.

TVector3 RootCsg::operator+ ( const TVector3 v1,
const TVector3 v2 
)

Definition at line 675 of file CsgOps.cxx.

References v1.

TPoint2 RootCsg::operator+ ( const TPoint2 &  p,
const TVector2 v 
)

Definition at line 406 of file CsgOps.cxx.

References p.

TVector2 RootCsg::operator+ ( const TVector2 v1,
const TVector2 v2 
)

Definition at line 195 of file CsgOps.cxx.

References v1.

TVector3 RootCsg::operator- ( const TPoint3 &  p1,
const TPoint3 &  p2 
)

Definition at line 827 of file CsgOps.cxx.

References p1(), and p2().

TPoint3 RootCsg::operator- ( const TPoint3 &  p,
const TVector3 v 
)

Definition at line 821 of file CsgOps.cxx.

References p.

TVector3 RootCsg::operator- ( const TVector3 v  ) 

Definition at line 687 of file CsgOps.cxx.

TVector3 RootCsg::operator- ( const TVector3 v1,
const TVector3 v2 
)

Definition at line 681 of file CsgOps.cxx.

References v1.

TVector2 RootCsg::operator- ( const TPoint2 &  p1,
const TPoint2 &  p2 
)

Definition at line 420 of file CsgOps.cxx.

References p1(), and p2().

TPoint2 RootCsg::operator- ( const TPoint2 &  p,
const TVector2 v 
)

Definition at line 413 of file CsgOps.cxx.

References p.

TVector2 RootCsg::operator- ( const TVector2 v  ) 

Definition at line 209 of file CsgOps.cxx.

TVector2 RootCsg::operator- ( const TVector2 v1,
const TVector2 v2 
)

Definition at line 202 of file CsgOps.cxx.

References v1.

TVector3 RootCsg::operator/ ( const TVector3 v,
Double_t  s 
)

Definition at line 606 of file CsgOps.cxx.

TVector2 RootCsg::operator/ ( const TVector2 v,
Double_t  s 
)

Definition at line 230 of file CsgOps.cxx.

Bool_t RootCsg::operator== ( const Tuple4 &  t1,
const Tuple4 &  t2 
)

Definition at line 893 of file CsgOps.cxx.

Bool_t RootCsg::operator== ( const Tuple3 &  t1,
const Tuple3 &  t2 
)

Definition at line 484 of file CsgOps.cxx.

Bool_t RootCsg::operator== ( const Tuple2 &  t1,
const Tuple2 &  t2 
)

Definition at line 134 of file CsgOps.cxx.

template<class CMesh, class TMesh>
void RootCsg::partition_mesh ( CMesh &  mesh,
const TMesh &  mesh2,
const OverlapTable_t &  table 
)

Definition at line 2261 of file CsgOps.cxx.

References i, intersect_polygons(), j, k, RootCsg::TMesh< TPolygon, TVertex >::Polys(), and size.

Referenced by extract_classification(), and extract_classification_preserve().

template<typename TGBinder>
Bool_t RootCsg::point_in_polygon_test_3d ( const TGBinder &  p1,
const TPlane3 &  plane,
const TPoint3 &  origin,
const TPoint3 &  pointOnPlane 
)

Definition at line 1657 of file CsgOps.cxx.

References i, kFALSE, kTRUE, RootCsg::TPlane3::SignedDistance(), and testPlane().

Referenced by instersect_poly_with_line_3d().

template<typename TGBinder>
TPoint3 RootCsg::polygon_mid_point ( const TGBinder &  p1  ) 

Definition at line 1675 of file CsgOps.cxx.

References i.

Referenced by polygon_mid_point_ray().

template<typename TGBinder>
TLine3 RootCsg::polygon_mid_point_ray ( const TGBinder &  p1,
const TPlane3 &  plane 
)

Definition at line 1701 of file CsgOps.cxx.

References kFALSE, kTRUE, RootCsg::TPlane3::Normal(), and polygon_mid_point().

Referenced by classify_mesh().

Int_t RootCsg::sign ( Double_t  x  ) 

Definition at line 88 of file CsgOps.cxx.

Referenced by af_latin2_compute_stem_width(), af_latin_compute_stem_width(), RooGExpModel::calcDecayConv(), cff_parse_real(), decode_mcu(), decode_mcu_AC_first(), decode_mcu_DC_first(), TVirtualFFT::FFT(), TSpectrumTransform::Fourier(), TSpectrum2Transform::Fourier(), TMVA::SimulatedAnnealing::GenerateNeighbour(), TMVA::MethodBase::GetEfficiency(), TMVA::MethodBase::GetTrainingEfficiency(), TGNumberEntry::IncreaseNumber(), TGNumberEntryField::IncreaseNumber(), IntStr(), TDecompLU::InvertLU(), Reflex::Object::Invoke(), main(), mstress_determinant(), TGNumberEntry::ProcessMessage(), PS_Conv_Strtol(), PS_Conv_ToFixed(), rlediff_decompress(), ROOT::Math::tdistribution_cdf(), ROOT::Math::tdistribution_cdf_c(), TranslateToNum(), and tree3w().

Double_t RootCsg::triple ( const TVector3 v1,
const TVector3 v2,
const TVector3 v3 
)

Definition at line 747 of file CsgOps.cxx.

References v1.

Referenced by RootCsg::TMatrix3x3::Determinant().

template<typename TGBinder>
Int_t RootCsg::which_side ( const TGBinder &  p1,
const TPlane3 &  plane1 
)

Definition at line 1686 of file CsgOps.cxx.

References fuzzy_zero(), i, output(), and RootCsg::TPlane3::SignedDistance().


Variable Documentation

const Int_t RootCsg::cofacTable[3][2] = {{1,2}, {0,2}, {0,1}}

Definition at line 1569 of file CsgOps.cxx.

Referenced by intersect_2d_no_bounds_check().

const Double_t RootCsg::epsilon = 1e-10

Definition at line 83 of file CsgOps.cxx.

Referenced by TMatrixTSparse< Element >::Allocate(), TMatrixT< Element >::Allocate(), TMatrixTSym< Element >::Allocate(), AlmostEqual(), AlmostInteger(), RooGExpModel::calcDecayConv(), RooGExpModel::calcSinConvNorm(), VectorTest< Dim >::check(), ClassImp(), closeEnough(), compare(), ROOT::Math::gv_detail::convert(), coordinates4D(), TF2::Covariance2XY(), TF3::Covariance3XY(), TF3::Covariance3XZ(), TF3::Covariance3YZ(), ROOT::Math::CylindricalEta3D< T >::CylindricalEta3D(), TMVA::ResultsRegression::DeviationAsAFunctionOf(), TDecompSVD::Diagonalize(), ROOT::Math::MultiNumGradFunction::DoDerivative(), TUnfold::DoUnfold(), DrawCumulative(), equal(), ROOT::Math::Impl::Eta_FromRhoZ(), TMultiDimFit::EvalControl(), ROOT::Math::Util::EvalLog(), ROOT::Math::expm1(), ROOT::Math::SinVariableTransformation::Ext2int(), TMVA::PDEFoamDistr::FillHist(), fuzzy_zero(), ROOT::Minuit2::GaussDataGen::GaussDataGen(), TMVA::MethodBase::GetEfficiency(), TMVA::MethodBDT::GetMvaValue(), TMVA::MethodBoost::GetMvaValue(), TMVA::MethodBDT::GetRegressionValues(), TMVA::SeparationBase::GetSeparationGain(), TMVA::Tools::GetSQRootMatrix(), TMVA::DecisionTree::GetVariableImportance(), TF3::Integral(), IsEqual(), RootCsg::TLine3::IsParameterOnLine(), main(), TF1::Mean(), TF2::Mean2X(), TF2::Mean2Y(), TF3::Mean3X(), TF3::Mean3Y(), TF3::Mean3Z(), ROOT::Math::GSLMinimizer::Minimize(), mstress_inversion(), mstress_mm_multiplications(), mstress_sym_mm_multiplications(), mstress_vm_multiplications(), TBinLikelihoodFCN::operator()(), TMVA::CCPruner::Optimize(), TMVA::CostComplexityPruneTool::Optimize(), TGaxis::PaintAxis(), TMVA::PDEFoam::PeekLast(), TMVA::PDEFoam::PeekMax(), TKDTreeBinning::ReadjustMaxBinEdges(), TKDTreeBinning::ReadjustMinBinEdges(), TKDTreeBinning::SetCommonBinEdges(), TGLAxisPainter::SetTextFormat(), spstress_mm_multiplications(), spstress_vm_multiplications(), stress_binary_op(), stress_inversion(), stress_mm_multiplications(), stress_sym_mm_multiplications(), stress_vm_multiplications(), TMVA::SVWorkingSet::TakeStep(), TMVA::SVWorkingSet::TakeStepReg(), test16(), StatFunction< Func, FuncQ, NPAR, NPARQ >::TestDerivative(), StatFunction< Func, FuncQ, NPAR, NPARQ >::TestIntegral(), testSMatrix(), testSVector(), testTrack(), testVector(), testVector34(), TMVA::MethodCuts::Train(), TMatrixTSparse< Element >::Use(), TF1::Variance(), TF2::Variance2X(), TF2::Variance2Y(), TF3::Variance3X(), TF3::Variance3Y(), TF3::Variance3Z(), VerifyMatrixIdentity(), VerifyMatrixValue(), VerifyVectorIdentity(), VerifyVectorValue(), and vstress_binary_op().

const Double_t RootCsg::epsilon2 = 1e-20

Definition at line 84 of file CsgOps.cxx.

Referenced by fuzzy_zero2().

const Double_t RootCsg::infinity = 1e50

Definition at line 85 of file CsgOps.cxx.

Referenced by TEveProjection::AddPreScaleEntry(), ROOT::Math::beta_pdf(), ROOT::Math::cauchy_quantile(), ROOT::Math::cauchy_quantile_c(), ROOT::Math::CDFWrapper::CDFWrapper(), TKDE::CheckKernelValidity(), RooStats::HypoTestResult::CLsError(), ROOT::Math::cosint(), ROOT::Math::PDFIntegral::DoEval(), ROOT::Math::Cephes::gamma(), TKDTreeBinning::GetDataMax(), TKDTreeBinning::GetDataMin(), HFit::GetDrawingRange(), ROOT::Fit::DataRange::GetInfRange(), ROOT::Math::Cephes::igami(), TMVA::CCTreeWrapper::InitTree(), TMVA::CostComplexityPruneTool::InitTreePruningMetaData(), intersect_poly_with_line_2d(), ROOT::Math::landau_quantile(), ROOT::Math::Cephes::lgam(), ROOT::Math::Cephes::ndtri(), ROOT::Math::PDFIntegral::PDFIntegral(), TMVA::CCTreeWrapper::PruneNode(), TMVA::DecisionTree::PruneNodeInPlace(), RootCsg::TBBox::SetEmpty(), ROOT::Math::Minimizer::SetLowerLimitedVariable(), and ROOT::Math::Minimizer::SetUpperLimitedVariable().


Generated on Tue Jul 5 17:00:47 2011 for ROOT_528-00b_version by  doxygen 1.5.1