Skip to content
Snippets Groups Projects
Commit 116dfbea authored by Sergey Linev's avatar Sergey Linev
Browse files

csg: move constructive solid geometry code into separate library

This library linked to libRGL.so and used to generate composite shapes.
Same code will be reused in eve7
parent 81e6e48c
No related branches found
No related tags found
No related merge requests found
......@@ -10,6 +10,9 @@ add_subdirectory(g3d) # special CMakeLists.txt
if(NOT WIN32 AND x11)
add_subdirectory(x3d) # special CMakeLists.txt
endif()
add_subdirectory(csg) # special CMakeLists.txt
if (opengl)
add_subdirectory(eve) # special CMakeLists.txt
add_subdirectory(gl) # special CMakeLists.txt
......
ROOT_STANDARD_LIBRARY_PACKAGE(RCsg
HEADERS
inc/CsgOps.h
SOURCES
src/CsgOps.cxx
DEPENDENCIES
MathCore
)
......@@ -15,13 +15,15 @@ namespace RootCsg {
class TBaseMesh {
public:
TBaseMesh() = default;
virtual ~TBaseMesh() = default;
virtual ~TBaseMesh(){}
virtual UInt_t NumberOfPolys()const = 0;
virtual UInt_t NumberOfVertices()const = 0;
virtual UInt_t SizeOfPoly(UInt_t polyIndex)const = 0;
virtual const Double_t *GetVertex(UInt_t vertNum)const = 0;
virtual Int_t GetVertexIndex(UInt_t polyNum, UInt_t vertNum)const = 0; };
virtual Int_t GetVertexIndex(UInt_t polyNum, UInt_t vertNum)const = 0;
};
TBaseMesh *ConvertToMesh(const TBuffer3D &buff);
TBaseMesh *BuildUnion(const TBaseMesh *leftOperand, const TBaseMesh *rightOperand);
......
// @(#)root/csg:$Id$
/*************************************************************************
* Copyright (C) 1995-2018, Rene Brun and Fons Rademakers. *
* All rights reserved. *
* *
* For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/
#ifdef __CINT__
#pragma link off all globals;
#pragma link off all classes;
#pragma link off all functions;
#pragma link C++ namespace RootCsg;
#pragma link C++ class RootCsg::TBaseMesh+;
#endif
File moved
......@@ -42,5 +42,5 @@ ROOT_STANDARD_LIBRARY_PACKAGE(RGL
SOURCES ${sources}
DICTIONARY_OPTIONS "-writeEmptyRootPCM"
LIBRARIES ${gllibs} ${GL2PS_LIBRARIES} GLEW ${FTGL_LIBRARIES}
DEPENDENCIES Hist Gui Ged
DEPENDENCIES Hist Gui Ged RCsg
INSTALL_OPTIONS ${installoptions})
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment