@@ -221,6 +221,8 @@ void CurveNetwork::drawPickDelayed() {
221221
222222std::vector<std::string> CurveNetwork::addCurveNetworkNodeRules(std::vector<std::string> initRules) {
223223 initRules = addStructureRules(initRules);
224+
225+ initRules.push_back(view::getCurrentProjectionModeRaycastRule());
224226
225227 if (nodeRadiusQuantityName != " " || edgeRadiusQuantityName != " " ) {
226228 initRules.push_back(" SPHERE_VARIABLE_SIZE" );
@@ -233,6 +235,8 @@ std::vector<std::string> CurveNetwork::addCurveNetworkNodeRules(std::vector<std:
233235std::vector<std::string> CurveNetwork::addCurveNetworkEdgeRules(std::vector<std::string> initRules) {
234236 initRules = addStructureRules(initRules);
235237
238+ initRules.push_back(view::getCurrentProjectionModeRaycastRule());
239+
236240 // use node radius to blend cylinder radius
237241 if (nodeRadiusQuantityName != " " || edgeRadiusQuantityName != " " ) {
238242 initRules.push_back(" CYLINDER_VARIABLE_SIZE" );
@@ -292,9 +296,10 @@ void CurveNetwork::preparePick() {
292296 size_t pickStart = pick::requestPickBufferRange(this, totalPickElements);
293297
294298 { // Set up node picking program
295- nodePickProgram =
296- render::engine->requestShader(" RAYCAST_SPHERE" , addCurveNetworkNodeRules({" SPHERE_PROPAGATE_COLOR" }),
297- render::ShaderReplacementDefaults::Pick);
299+ nodePickProgram = render::engine->requestShader(
300+ " RAYCAST_SPHERE" ,
301+ addCurveNetworkNodeRules({" SPHERE_PROPAGATE_COLOR" }),
302+ render::ShaderReplacementDefaults::Pick);
298303
299304 // Fill color buffer with packed point indices
300305 std::vector<glm::vec3> pickColors;
0 commit comments