Skip to content

Commit 258cd7b

Browse files
committed
fix buggy normalization in curve network edge radius
1 parent 1e5ff25 commit 258cd7b

File tree

2 files changed

+8
-1
lines changed

2 files changed

+8
-1
lines changed

examples/demo-app/demo_app.cpp

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,17 +76,23 @@ void constructDemoCurveNetwork(std::string curveName, std::vector<glm::vec3> nod
7676
std::vector<double> valEdgeCat(nEdges);
7777
std::vector<std::array<double, 3>> randColor(nEdges);
7878
std::vector<glm::vec3> randVec(nEdges);
79+
std::vector<double> valYabs(nEdges);
7980
for (size_t iE = 0; iE < nEdges; iE++) {
8081
auto edge = edges[iE];
8182
size_t nA = std::get<0>(edge);
8283
size_t nB = std::get<1>(edge);
84+
glm::vec3 posA = nodes[nA];
85+
glm::vec3 posB = nodes[nB];
86+
glm::vec3 midpointPos = 0.5f * (posA + posB);
8387

8488
edgeLen[iE] = glm::length(nodes[nA] - nodes[nB]);
8589
valEdgeCat[iE] = iE * 5 / nEdges;
8690
randColor[iE] = {{polyscope::randomUnit(), polyscope::randomUnit(), polyscope::randomUnit()}};
8791
randVec[iE] = glm::vec3{polyscope::randomUnit() - .5, polyscope::randomUnit() - .5, polyscope::randomUnit() - .5};
92+
valYabs[iE] = std::fabs(midpointPos.y);
8893
}
8994
polyscope::getCurveNetwork(curveName)->addEdgeScalarQuantity("edge len", edgeLen, polyscope::DataType::MAGNITUDE);
95+
polyscope::getCurveNetwork(curveName)->addEdgeScalarQuantity("edge valYabs", valYabs, polyscope::DataType::MAGNITUDE);
9096
polyscope::getCurveNetwork(curveName)->addEdgeScalarQuantity("edge categorical", valEdgeCat,
9197
polyscope::DataType::CATEGORICAL);
9298
polyscope::getCurveNetwork(curveName)->addEdgeColorQuantity("eColor", randColor);
@@ -95,6 +101,7 @@ void constructDemoCurveNetwork(std::string curveName, std::vector<glm::vec3> nod
95101

96102
// set a node radius quantity from above
97103
polyscope::getCurveNetwork(curveName)->setNodeRadiusQuantity("nXabs");
104+
polyscope::getCurveNetwork(curveName)->setEdgeRadiusQuantity("edge valYabs");
98105
}
99106

100107
void processFileOBJ(std::string filename) {

src/curve_network.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,7 @@ void CurveNetwork::setCurveNetworkEdgeUniforms(render::ShaderProgram& p) {
122122
glm::mat4 Pinv = glm::inverse(P);
123123
p.setUniform("u_invProjMatrix", glm::value_ptr(Pinv));
124124
p.setUniform("u_viewport", render::engine->getCurrentViewport());
125-
p.setUniform("u_radius", computeNodeRadiusMultiplierUniform());
125+
p.setUniform("u_radius", computeEdgeRadiusMultiplierUniform());
126126
}
127127
128128
void CurveNetwork::draw() {

0 commit comments

Comments
 (0)