This example creates two triangle parts and two polyline parts. The second triangle and the second polyline will have the halo effect applied.
std::vector<cee::Vec3d> triangleVertices;
triangleVertices.push_back(
cee::Vec3d(0.0, 0.0, 2.0));
triangleVertices.push_back(
cee::Vec3d(2.0, 0.0, 2.0));
triangleVertices.push_back(
cee::Vec3d(1.0, 0.0, 3.0));
std::vector<unsigned int> triangleIndices = { 0, 1, 2 };
std::vector<cee::Vec3d> firstPolylinesVertices;
firstPolylinesVertices.push_back(
cee::Vec3d(0.0, 0.0, 0.0));
firstPolylinesVertices.push_back(
cee::Vec3d(1.0, 0.0, 0.0));
firstPolylinesVertices.push_back(
cee::Vec3d(1.5, 0.0, 1.0));
firstPolylinesVertices.push_back(
cee::Vec3d(0.0, 0.0, -1.0));
firstPolylinesVertices.push_back(
cee::Vec3d(1.0, 0.0, -1.0));
firstPolylinesVertices.push_back(
cee::Vec3d(1.5, 0.0, 0.0));
std::vector<cee::Vec3d> secondPolylinesVertices;
secondPolylinesVertices.push_back(
cee::Vec3d(2.0, 0.0, 0.0));
secondPolylinesVertices.push_back(
cee::Vec3d(3.0, 0.0, 0.0));
secondPolylinesVertices.push_back(
cee::Vec3d(3.5, 0.0, 1.0));
secondPolylinesVertices.push_back(
cee::Vec3d(2.0, 0.0, -1.0));
secondPolylinesVertices.push_back(
cee::Vec3d(3.0, 0.0, -1.0));
secondPolylinesVertices.push_back(
cee::Vec3d(3.5, 0.0, 0.0));
std::vector<unsigned int> firstLineIndices = { 0, 1, 2 };
std::vector<unsigned int> secondLineIndices = { 3, 4, 5 };
std::vector<std::vector<unsigned int> > polylinesIndices;
polylinesIndices.push_back(firstLineIndices);
polylinesIndices.push_back(secondLineIndices);
firstLinePartData->
setVertices(firstPolylinesVertices);
secondLinePartData->
setVertices(secondPolylinesVertices);
transformedTrianglePart->
setData(triangleDataPart.
get());
secondLinePart->
setData(secondLinePartData.
get());
gcgeoModel->
addPart(transformedTrianglePart.
get());