Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
server.cxx File Reference

Detailed Description

This tutorial demonstrates how three.js model for geometry can be created.

In server.cxx one uses RGeomDescription class from geometry viewer, which produces JSON data with all necessary information. Then RWebWindow is started and this information provided. In client.html one uses build function to create Object3D with geometry Then such object placed in three.js scene and rendered. Also simple animation is implemented

std::shared_ptr<ROOT::RWebWindow> window;
int counter{0};
void ProcessData(unsigned connid, const std::string &arg)
{
printf("Get msg %s \n", arg.c_str());
counter++;
if (arg == "get_text") {
// send arbitrary text message
window->Send(connid, Form("Message%d", counter));
} else if (arg == "get_binary") {
// send float array as binary
float arr[10];
for (int n = 0; n < 10; ++n)
arr[n] = counter;
window->SendBinary(connid, arr, sizeof(arr));
} else if (arg == "halt") {
// terminate ROOT
window->TerminateROOT();
}
}
void server()
{
// create window
// configure default html page
// either HTML code can be specified or just name of file after 'file:' prefix
window->SetDefaultPage("file:client.html");
// this is call-back, invoked when message received from client
window->SetDataCallBack(ProcessData);
window->SetGeometry(300, 500); // configure predefined geometry
window->Show();
}
char * Form(const char *fmt,...)
Formats a string in a circular formatting buffer.
Definition TString.cxx:2467
static std::shared_ptr< RWebWindow > Create()
Create new RWebWindow Using default RWebWindowsManager.
const Int_t n
Definition legend1.C:16
Author
Sergey Linev

Definition in file server.cxx.