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") {
window->Send(connid,
Form(
"Message%d", counter));
} else if (arg == "get_binary") {
float arr[10];
for (
int n = 0;
n < 10; ++
n)
window->SendBinary(connid, arr, sizeof(arr));
} else if (arg == "halt") {
window->TerminateROOT();
}
}
void server()
{
window->SetDefaultPage("file:client.html");
window->SetDataCallBack(ProcessData);
window->SetGeometry(300, 500);
window->Show();
}
char * Form(const char *fmt,...)
Formats a string in a circular formatting buffer.
static std::shared_ptr< RWebWindow > Create()
Create new RWebWindow Using default RWebWindowsManager.
- Author
- Sergey Linev
Definition in file server.cxx.