The tutorial demonstrates how three.js model for geometry can be created and displayed.
std::shared_ptr<ROOT::RWebWindow> window;
void ProcessData(unsigned connid, const std::string &arg)
{
if (arg == "get") {
window->Send(connid, base64.
Data());
} else if (arg == "halt") {
window->TerminateROOT();
}
}
void geom_threejs()
{
std::string fdir = __FILE__;
auto pos = fdir.find("geom_threejs.cxx");
if (pos > 0)
fdir.resize(pos);
else
fdir =
gROOT->GetTutorialsDir() + std::string(
"/webgui/geom/");
window->SetDefaultPage("file:" + fdir + "geom_threejs.html");
window->SetDataCallBack(ProcessData);
window->SetGeometry(800, 600);
window->Show();
}
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void data
R__EXTERN TGeoManager * gGeoManager
static std::shared_ptr< RWebWindow > Create()
Create new RWebWindow Using default RWebWindowsManager.
static TString Encode(const char *data)
Transform data into a null terminated base64 string.
static Bool_t SetCacheFileDir(std::string_view cacheDir, Bool_t operateDisconnected=kTRUE, Bool_t forceCacheread=kFALSE)
Sets the directory where to locally stage/cache remote files.
void SetVisLevel(Int_t level=3)
set default level down to which visualization is performed
static TGeoManager * Import(const char *filename, const char *name="", Option_t *option="")
static function Import a geometry from a gdml or ROOT file
TGeoVolume * GetVolume(const char *name) const
Search for a named volume. All trailing blanks stripped.
void DefaultColors()
Set default volume colors according to A of material.
void SetTransparency(Char_t transparency=0)
void InvisibleAll(Bool_t flag=kTRUE)
Make volume and each of it daughters (in)visible.
void SetLineColor(Color_t lcolor) override
Set the line color.
const char * Data() const