28 auto elements = this->inDiscreteElements()->getDataPtr();
30 if (this->outTriangleSet()->isEmpty()) {
31 this->outTriangleSet()->allocate();
34 auto outTopo = this->outTriangleSet()->getDataPtr();
36 auto& boxes = elements->getBoxes();
37 auto& spheres = elements->getSpheres();
38 auto& capsules = elements->getCapsules();
40 uint32_t totalSize = boxes.size() * 36 + capsules.size() * 48 + spheres.size() * 24;
42 auto& vertices = outTopo->mPoints;
43 auto& indices = outTopo->mTriangleIndex;
45 vertices.resize(totalSize);
46 indices.resize(totalSize / 3);
48 uint32_t eleSize = elements->getTotalElementSize();
51 offset.
setValue(elements->getElementOffset());
56 kernel(
"SetupFacets")->flush(
60 &elements->getBoxes(),
61 &elements->getCapsules(),
62 &elements->getSpheres(),