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") {
} else if (arg == "get_binary") {
for (
int n = 0;
n < 10; ++
n)
window->SendBinary(connid,
arr,
sizeof(
arr));
} else if (arg == "halt") {
window->TerminateROOT();
}
}
{
auto pos =
fname.find(
"server.cxx");
if (pos > 0)
else
fname.append(
"client.html");
window->SetDefaultPage(
"file:" +
fname);
window->SetDataCallBack(ProcessData);
window->SetGeometry(300, 500);
window->Show();
}
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
static std::shared_ptr< RWebWindow > Create()
Create new RWebWindow Using default RWebWindowsManager.
static TString Format(const char *fmt,...)
Static method which formats a string using a printf style format descriptor and return a TString.
- Author
- Sergey Linev
Definition in file server.cxx.