ROOT  6.06/09
Reference Guide
Classes | Typedefs | Functions | Variables
RootCsg Namespace Reference

I've modified some very nice bounding box tree code from Gino van der Bergen's Free Solid Library below. More...

Classes

class  TBaseMesh
 

Typedefs

typedef TBBoxLeaf * LeafPtr_t
 
typedef TBBoxNode * NodePtr_t
 
typedef TBBoxInternal * InternalPtr_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_tAConnectedMeshWrapper_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 2384 of file CsgOps.cxx.

typedef TConnectedMeshWrapper<AConnectedMesh_t> RootCsg::AConnectedMeshWrapper_t

Definition at line 2386 of file CsgOps.cxx.

typedef TMesh<TestPolygon_t,TVertexBase> RootCsg::AMesh_t

Definition at line 2383 of file CsgOps.cxx.

typedef TMeshWrapper<AMesh_t> RootCsg::AMeshWrapper_t

Definition at line 2385 of file CsgOps.cxx.

typedef TBBoxInternal* RootCsg::InternalPtr_t

Definition at line 1520 of file CsgOps.cxx.

typedef TBBoxLeaf* RootCsg::LeafPtr_t

Definition at line 1509 of file CsgOps.cxx.

typedef TBBoxNode* RootCsg::NodePtr_t

Definition at line 1510 of file CsgOps.cxx.

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

Definition at line 2103 of file CsgOps.cxx.

typedef PIndexList_t::iterator RootCsg::PIndexIt_t

Definition at line 2102 of file CsgOps.cxx.

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

Definition at line 2101 of file CsgOps.cxx.

typedef TPolygonBase<TBlenderVProp, NullType_t> RootCsg::TestPolygon_t

Definition at line 2382 of file CsgOps.cxx.

Function Documentation

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

Definition at line 368 of file CsgOps.cxx.

Referenced by TArrow::SetDefaultAngle().

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

Definition at line 809 of file CsgOps.cxx.

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

Definition at line 2629 of file CsgOps.cxx.

Referenced by BuildDifference().

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

Definition at line 2575 of file CsgOps.cxx.

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 2391 of file CsgOps.cxx.

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

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

Definition at line 2505 of file CsgOps.cxx.

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 2602 of file CsgOps.cxx.

Referenced by BuildUnion().

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

Definition at line 2737 of file CsgOps.cxx.

Referenced by TGLScenePad::BuildComposite().

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

Definition at line 2730 of file CsgOps.cxx.

Referenced by TGLScenePad::BuildComposite().

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

Definition at line 2723 of file CsgOps.cxx.

Referenced by TGLScenePad::BuildComposite().

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

Definition at line 2440 of file CsgOps.cxx.

Referenced by extract_classification(), and extract_classification_preserve().

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

Definition at line 1732 of file CsgOps.cxx.

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

Definition at line 1837 of file CsgOps.cxx.

TBaseMesh * RootCsg::ConvertToMesh ( const TBuffer3D buff)

Definition at line 2656 of file CsgOps.cxx.

Referenced by TGLScenePad::AddObject().

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

Definition at line 2488 of file CsgOps.cxx.

Referenced by extract_classification_preserve().

TVector3 RootCsg::cross ( const TVector3 v1,
const TVector3 v2 
)
Double_t RootCsg::distance ( const TPoint2 &  p1,
const TPoint2 &  p2 
)
Double_t RootCsg::distance ( const TPoint3 &  p1,
const TPoint3 &  p2 
)

Definition at line 919 of file CsgOps.cxx.

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

Definition at line 475 of file CsgOps.cxx.

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

Definition at line 926 of file CsgOps.cxx.

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

Definition at line 774 of file CsgOps.cxx.

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

Definition at line 2464 of file CsgOps.cxx.

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 
)
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 2519 of file CsgOps.cxx.

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

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

Definition at line 1861 of file CsgOps.cxx.

Referenced by build_tree().

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

Definition at line 361 of file CsgOps.cxx.

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

Definition at line 802 of file CsgOps.cxx.

Bool_t RootCsg::fuzzy_zero ( Double_t  x)

Definition at line 96 of file CsgOps.cxx.

Referenced by fuzzy_equal().

Bool_t RootCsg::fuzzy_zero ( const TVector2 v)

Definition at line 354 of file CsgOps.cxx.

Bool_t RootCsg::fuzzy_zero ( const TVector3 v)
Bool_t RootCsg::fuzzy_zero2 ( Double_t  x)

Definition at line 103 of file CsgOps.cxx.

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 1766 of file CsgOps.cxx.

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

Definition at line 1691 of file CsgOps.cxx.

Referenced by intersect_polygons().

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 1722 of file CsgOps.cxx.

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 1705 of file CsgOps.cxx.

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 1741 of file CsgOps.cxx.

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 1872 of file CsgOps.cxx.

Referenced by partition_mesh().

Double_t RootCsg::length ( const TVector2 v)

Definition at line 347 of file CsgOps.cxx.

Referenced by TEveJetCone::AddEllipticCone(), TLatex::Analyse(), begin_request_handler(), TKSocket::BlockWrite(), TCurlyArc::Build(), TGeoNavigator::cd(), TLatex::CheckLatexSyntax(), TGeoNavigator::CheckPath(), TAxis::ChooseTimeFormat(), TGTextLine::DelText(), TGFont::DrawChars(), FCGX_ROOT_send_file(), basic_string_view< _CharT, _Traits >::find(), basic_string_view< _CharT, _Traits >::find_first_not_of(), basic_string_view< _CharT, _Traits >::find_first_of(), basic_string_view< _CharT, _Traits >::find_last_not_of(), basic_string_view< _CharT, _Traits >::find_last_of(), ROOT::MacOSX::X11::EventTranslator::FindKeyGrabView, ROOT::MacOSX::X11::EventTranslator::GenerateKeyPressEvent, ROOT::MacOSX::X11::EventTranslator::GenerateKeyReleaseEvent, TFilePrefetch::GetBlockFromCache(), TMathText::GetBoundingBox(), TCling::GetIncludePath(), TMVA::MethodBase::GetLine(), TGWin32::GetProperty(), TGTextLine::GetText(), TMVA::PDF::GetValInverse(), TGTextLine::GetWord(), TMathText::GetXsize(), TMathText::GetYsize(), XrdProofPhyConn::Init(), XrdProofConn::Init(), TArcBall::MapToSphere(), TEveVectorT< TT >::Normalize(), TArrow::PaintArrow(), TLatex::PaintLatex1(), TMathText::PaintMathText(), TPolyLineShape::PaintNode(), TMatrixTSparse< Element >::Randomize(), TMatrixTSparse< Element >::RandomizePD(), TBranchElement::ReadLeavesMakeClass(), ROOT::Recvn(), TSSLSocket::RecvRaw(), TPSocket::RecvRaw(), TXSocket::RecvRaw(), ROOT::TMetaUtils::RemoveTemplateArgsFromName(), basic_string_view< _CharT, _Traits >::rfind(), TUnixSystem::SendBuf(), TWinNTSystem::SendBuf(), ROOT::MacOSX::X11::Detail::SendKeyPressEvent(), ROOT::MacOSX::X11::Detail::SendKeyReleaseEvent(), TPSocket::SendRaw(), TXSocket::SendRaw(), THttpCallArg::SetBinData(), TText::SetMbTitle(), THttpCallArg::SetPostData(), TAttAxis::SetTickLength(), TGLAxis::SetTickMarksLength(), TParallelCoordVar::SetValues(), TUnixSystem::UnixRecv(), TUnixSystem::UnixSend(), and TNetXNGFile::WriteBuffer().

Double_t RootCsg::length ( const TVector3 v)

Definition at line 788 of file CsgOps.cxx.

Double_t RootCsg::length2 ( const TVector2 v)

Definition at line 340 of file CsgOps.cxx.

Double_t RootCsg::length2 ( const TVector3 v)

Definition at line 781 of file CsgOps.cxx.

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

Definition at line 483 of file CsgOps.cxx.

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

Definition at line 933 of file CsgOps.cxx.

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

Definition at line 1186 of file CsgOps.cxx.

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

Definition at line 1201 of file CsgOps.cxx.

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

Definition at line 228 of file CsgOps.cxx.

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

Definition at line 236 of file CsgOps.cxx.

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

Definition at line 654 of file CsgOps.cxx.

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

Definition at line 760 of file CsgOps.cxx.

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

Definition at line 767 of file CsgOps.cxx.

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

Definition at line 1163 of file CsgOps.cxx.

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

Definition at line 1170 of file CsgOps.cxx.

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

Definition at line 1177 of file CsgOps.cxx.

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

Definition at line 204 of file CsgOps.cxx.

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

Definition at line 443 of file CsgOps.cxx.

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

Definition at line 739 of file CsgOps.cxx.

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

Definition at line 898 of file CsgOps.cxx.

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

Definition at line 212 of file CsgOps.cxx.

TVector2 RootCsg::operator- ( const TVector2 v)

Definition at line 220 of file CsgOps.cxx.

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

Definition at line 451 of file CsgOps.cxx.

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

Definition at line 459 of file CsgOps.cxx.

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

Definition at line 746 of file CsgOps.cxx.

TVector3 RootCsg::operator- ( const TVector3 v)

Definition at line 753 of file CsgOps.cxx.

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

Definition at line 905 of file CsgOps.cxx.

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

Definition at line 912 of file CsgOps.cxx.

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

Definition at line 244 of file CsgOps.cxx.

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

Definition at line 661 of file CsgOps.cxx.

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

Definition at line 137 of file CsgOps.cxx.

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

Definition at line 526 of file CsgOps.cxx.

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

Definition at line 982 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 2403 of file CsgOps.cxx.

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 1782 of file CsgOps.cxx.

Referenced by instersect_poly_with_line_3d().

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

Definition at line 1801 of file CsgOps.cxx.

Referenced by polygon_mid_point_ray().

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

Definition at line 1829 of file CsgOps.cxx.

Referenced by classify_mesh().

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

Definition at line 823 of file CsgOps.cxx.

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

Definition at line 1813 of file CsgOps.cxx.

Variable Documentation

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

Definition at line 1687 of file CsgOps.cxx.

const Double_t RootCsg::epsilon = 1e-10

Definition at line 83 of file CsgOps.cxx.

Referenced by fuzzy_zero().

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