mirror of https://github.com/vitalif/openscad
Clifford Wolf:
Started to use eigen2 for linear algebra problems git-svn-id: http://svn.clifford.at/openscad/trunk@376 b57f626f-c46c-0410-a088-ec61d464b74cstl_dim
parent
fc1224d321
commit
2da1551129
3
README
3
README
|
@ -52,6 +52,9 @@ development. Other versions may or may not work as well..
|
|||
* GLEW (bundled with OpenCSG)
|
||||
http://glew.sourceforge.net/
|
||||
|
||||
* Eigen2 (2.0.11)
|
||||
http://eigen.tuxfamily.org/
|
||||
|
||||
* GCC C++ Compiler (4.0, 4.2, 4.3.1):
|
||||
http://gcc.gnu.org/
|
||||
|
||||
|
|
|
@ -39,6 +39,13 @@ mdi {
|
|||
include(cgal.pri)
|
||||
include(opencsg.pri)
|
||||
|
||||
!isEmpty(EIGEN2_DIR) {
|
||||
QMAKE_CXXFLAGS += -I$$EIGEN2_DIR
|
||||
}
|
||||
else {
|
||||
QMAKE_CXXFLAGS += -I/usr/include/eigen2
|
||||
}
|
||||
|
||||
QMAKE_CXXFLAGS_RELEASE = -O3 -march=pentium
|
||||
QMAKE_CXXFLAGS_DEBUG = -O0 -ggdb
|
||||
|
||||
|
@ -46,8 +53,6 @@ QMAKE_CXXFLAGS_DEBUG = -O0 -ggdb
|
|||
# QMAKE_CXXFLAGS += -pg
|
||||
# QMAKE_LFLAGS += -pg
|
||||
|
||||
|
||||
|
||||
LEXSOURCES += src/lexer.l
|
||||
YACCSOURCES += src/parser.y
|
||||
|
||||
|
|
|
@ -25,6 +25,9 @@
|
|||
#include "printutils.h"
|
||||
#include "Preferences.h"
|
||||
|
||||
#include <Eigen/Core>
|
||||
#include <Eigen/LU>
|
||||
|
||||
QCache<QString,PolySet::ps_cache_entry> PolySet::ps_cache(100);
|
||||
|
||||
PolySet::ps_cache_entry::ps_cache_entry(PolySet *ps) :
|
||||
|
@ -129,10 +132,11 @@ static void gl_draw_triangle(GLint *shaderinfo, const PolySet::Point *p0, const
|
|||
|
||||
void PolySet::render_surface(colormode_e colormode, csgmode_e csgmode, double *m, GLint *shaderinfo) const
|
||||
{
|
||||
double m_scale_rotate_det =
|
||||
m[0]*m[5]*m[10] + m[4]*m[9]*m[2] + m[8]*m[1]*m[6] -
|
||||
(m[8]*m[5]*m[2] + m[4]*m[1]*m[10] + m[0]*m[9]*m[6]);
|
||||
bool mirrored = m_scale_rotate_det < 0;
|
||||
Eigen::Matrix3f m3f;
|
||||
m3f << m[0], m[4], m[8],
|
||||
m[1], m[5], m[9],
|
||||
m[2], m[6], m[10];
|
||||
bool mirrored = m3f.determinant() < 0;
|
||||
|
||||
if (colormode == COLORMODE_MATERIAL) {
|
||||
const QColor &col = Preferences::inst()->color(Preferences::OPENCSG_FACE_FRONT_COLOR);
|
||||
|
|
Loading…
Reference in New Issue