taiya / dgp

Digital Geometry Processing - Fall 2016 - University of Victoria
38 stars 11 forks source link

Some errors in assignment 3 code base #16

Closed kenxu0927 closed 7 years ago

kenxu0927 commented 7 years ago

dgp/hw3_deformation/main.cpp:40:10: error: virtual function 'mouse_press_callback' has a different return type ('void') than the function it overrides (which has return type 'bool') void mouse_press_callback(int button, int action, int /*mods*/) override

And

dgp/hw3_deformation/main.cpp:11:25: error: call to implicitly-deleted copy constructor of 'Deform' Deform deformator = Deform(mesh, this->scene);

nlguillemot commented 7 years ago

Weird that clang didn't have those errors. I've updated the code to fix these warnings, thanks for the help!

xuzheng0927 commented 7 years ago

Thanks but mouse_move_callback has the same issue..

BTW you missed a semicolon after "int u" in Deform.h as well :)

xuzheng0927 commented 7 years ago

One more question. I'm getting confused about the "PermutationMatrix". Is it simply a permuted identity matrix? I looked into Eigen's documentation it is not that clear to me. I guess permute. applyTranspositionOnTheRight(i, j) can swap the ith and jth rows (or columns)?

nlguillemot commented 7 years ago

Thanks but mouse_move_callback has the same issue..

BTW you missed a semicolon after "int u" in Deform.h as well :)

Thanks, I just fixed those errors as well. I was watching the elections while posting this assignment, so maybe that explains why I was distracted. :laughing:

One more question. I'm getting confused about the "PermutationMatrix". Is it simply a permuted identity matrix? I looked into Eigen's documentation it is not that clear to me. I guess permute. applyTranspositionOnTheRight(i, j) can swap the ith and jth rows (or columns)?

In the deformation slides, you can see that the matrix in the linear system is split into two parts: the equations for the unconstrained vertices, and the equations for the constrained vertices. The purpose of the permutation matrix is to permute the laplacian matrix so that the equations of the unconstrained vertices are at the top of the matrix, and the equations of the constrained vertices are at the bottom of the matrix.

nlguillemot commented 7 years ago

The API for crafting your own permutation matrix is to do operations on the permute.indices() array, which represents the permutation as a list of indices.

xuzheng0927 commented 7 years ago

Hi Nicolas sorry but I found a new issue 😌:

ld: 17 duplicate symbols for architecture x86_64

clang: error: linker command failed with exit code 1 (use -v to see invocation)

Searched on google and found it means "you have loaded the same function for twice", and I need to "remove -ObjC from Other Linker Flag" (I'm using Mac). But the hw3 files are not in an X-code project, is it something to do with the CMake file?

On Fri, Nov 11, 2016 at 10:58 PM, Nicolas Guillemot < notifications@github.com> wrote:

Thanks but mouse_move_callback has the same issue..

BTW you missed a semicolon after "int u" in Deform.h as well :)

Thanks, I just fixed those errors as well. I was watching the elections while posting this assignment, so maybe that explains why I was distracted. 😆

One more question. I'm getting confused about the "PermutationMatrix". Is it simply a permuted identity matrix? I looked into Eigen's documentation it is not that clear to me. I guess permute. applyTranspositionOnTheRight(i, j) can swap the ith and jth rows (or columns)?

In the deformation slides, you can see that the matrix in the linear system is split into two parts: the equations for the unconstrained vertices, and the equations for the constrained vertices. The purpose of the permutation matrix is to permute the laplacian matrix so that the equations of the unconstrained vertices are at the top of the matrix, and the equations of the constrained vertices are at the bottom of the matrix.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/ataiya/dgp/issues/16#issuecomment-260106218, or mute the thread https://github.com/notifications/unsubscribe-auth/AI3gFDPjDqmaMzv8cJE1N_1hJTaWAF4Eks5q9WOXgaJpZM4KwLFc .