Skip to content

Conversation

@th-skam
Copy link
Collaborator

@th-skam th-skam commented Sep 19, 2025

It is not doing anything except computing the distance between two points, which we are not using.
Based on #88

@th-skam th-skam added issue: enhancement New feature or request pr: status wip labels Sep 19, 2025
@th-skam th-skam added pr: status to review To notify reviewers to review this pull-request pr: enhancement and removed pr: status wip issue: enhancement New feature or request labels Sep 19, 2025
Copy link
Contributor

@epernod epernod left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the

{
tipProx = projectOnTip(surfProx->getPosition(), itTip->element()).prox;
if (!tipProx) continue;
tipProx->normalize();
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

are you sure this normalization was never useful for the rest of the algo?

if yes, ok for me. Let's double check ci as well.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, it does nothing. Check the implementation:

bool isNormalized() const override { return true; }
void normalize() override {}

normalize() is empty and isNormalized() always returns true.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

hum... and is it normal that it is empty?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes it should be because the normalization simply corrects the projection by placing the proximity inside the simplex. I guess it's there because the projection can in fact shoot the new point outside the simplex. But the PointProximity is the most trivial case. Projecting on a point simply means "use that point".

Check the EdgeProximity implementation:

bool isNormalized() const override {
// if (m_f0+m_f1 != 1.0) return false;
return m_f0>=0 && m_f0<=1 &&
m_f1>=0 && m_f1<=1;
}
void normalize() override {
if (m_f1<0.0) m_f1 = 0.0;
else if (m_f1>1.0) m_f1 = 1.0;
m_f0 = 1.0-m_f1;
}

m_f0 and m_f1 are the bary coords.

@epernod epernod added pr: status ready Approved a pull-request, ready to be squashed and removed pr: status to review To notify reviewers to review this pull-request labels Sep 24, 2025
@epernod epernod merged commit e735d21 into master Sep 24, 2025
4 checks passed
@epernod epernod deleted the improve-projective branch September 24, 2025 09:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

pr: enhancement pr: status ready Approved a pull-request, ready to be squashed

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants