Code Monkey home page Code Monkey logo

shipcad's Introduction

ShipCAD

Models Ship hulls using subdivision surfaces.

Port of the Free!Ship program to C++ and Qt.

The original progam is located at: http://sourceforge.net/projects/freeship. It was last updated on 2013-04-19.

Prerequisites

  • c++11 or later
  • Qt 5.7
  • Boost 1.55 or greater
  • Eigen 67e894c6cd8f linear algebra library

Build notes

To build the manual, latex is required.

latex manual.tex
latex manual.tex
dvipdft manual.dvi

Functionality to do:

Graphics: zebra shading has some artifacts grids, hydrostatic, curvature display

Main Window: display current mouse position

Dialogs: DXF Export Background Blending Crosscurves Cylinder Expanded Plates Hullform - Partial, missing view window operations, captions, background image Hydrostatics Hydrostatics results Keel Wizard Lackenby Linesplan Michlet Output Resistance Delft Resistance Kaper Save Image Splash Undo History

Controller: import/export Background Image all import/export methods except native FreeShip Flowlines import frames lackenby transformation undo/redo/undo history add cylinder keel and rudder wizard

Spline: draw doesn't show points

Flowline: draw, rebuild

Resistance: all methods

BackgroundImage: updateData, updateViews

DevelopedPatch draw

shipcad's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

shipcad's Issues

No binary

Thank you for developedpatch.cpp, now errors gone
But i can't to get executive binary file
i have only /usr/lib/libShipCADlib.a (there is not *.so too)

there are steps of my compilation process
~/bin/ShipCAD $ /usr/lib64/qt5/bin/qmake EIGEN_ROOT="/usr/include/eigen3" BOOST_ROOT="/usr" -r ShipCAD.pro
https://paste.pound-python.org/show/iABGGk5mCTs1Vv2X9vWO/
~/bin/ShipCAD $ make -j 9
https://paste.pound-python.org/show/JlXvqhDwrNMRJGzPBPg8/
~/bin/ShipCAD # make install
https://paste.pound-python.org/show/pp1ARjtPwHVyZ5pNzGJG/

i'm on gentoo lonux, this is gentoo's package full build log
https://paste.pound-python.org/show/u9fd3mf8l5v19I5oNdFJ/

Qt 5.2 support

  • Qt 5.3 - 5.5

Can you keep support for 5.2? (for 14.04 LTS support)

developedpatch.cpp:244:28: error: ‘_boundary_edges’ was not declared in this scope

Hello
I want to get Freeship on my Gentoo Linux ~amd64 qt5 kde5 - but cant to build it.
And i found your project, it's very cool that you port it to qt5!
but i can't build it too
This is build log

developedpatch.cpp: In member function ‘virtual void ShipCAD::DevelopedPatch::draw(ShipCAD::Viewport&, ShipCAD::LineShader*)’:
developedpatch.cpp:244:28: error: ‘_boundary_edges’ was not declared in this scope
         for (size_t i=0; i<_boundary_edges.size(); ++i) {
                            ^~~~~~~~~~~~~~~
developedpatch.cpp:244:28: note: suggested alternative: ‘_boundaryEdges’
         for (size_t i=0; i<_boundary_edges.size(); ++i) {
                            ^~~~~~~~~~~~~~~
                            _boundaryEdges
developedpatch.cpp:248:35: error: ‘find_point’ was not declared in this scope
             patchpt_iter index1 = find_point(_points.begin(),
                                   ^~~~~~~~~~
developedpatch.cpp:248:35: note: suggested alternative: ‘midPoint’
             patchpt_iter index1 = find_point(_points.begin(),
                                   ^~~~~~~~~~
                                   midPoint
developedpatch.cpp:253:17: error: ‘vertices’ was not declared in this scope
                 vertices << getPoint(index1 - _points.begin());
                 ^~~~~~~~
developedpatch.cpp:253:17: note: suggested alternative: ‘_vertices1’
                 vertices << getPoint(index1 - _points.begin());
                 ^~~~~~~~
                 _vertices1
developedpatch.cpp:261:33: error: ‘vertices’ was not declared in this scope
         lineshader->renderLines(vertices, edgeColor);
                                 ^~~~~~~~
developedpatch.cpp:261:33: note: suggested alternative: ‘_vertices1’
         lineshader->renderLines(vertices, edgeColor);
                                 ^~~~~~~~
                                 _vertices1
developedpatch.cpp:261:43: error: ‘edgeColor’ was not declared in this scope
         lineshader->renderLines(vertices, edgeColor);
                                           ^~~~~~~~~
developedpatch.cpp:261:43: note: suggested alternative: ‘QColor’
         lineshader->renderLines(vertices, edgeColor);
                                           ^~~~~~~~~
                                           QColor
developedpatch.cpp:267:9: error: ‘vertices’ was not declared in this scope
         vertices.clear();
         ^~~~~~~~
developedpatch.cpp:267:9: note: suggested alternative: ‘_vertices1’
         vertices.clear();
         ^~~~~~~~
         _vertices1
developedpatch.cpp:282:39: error: ‘find_point’ was not declared in this scope
                 patchpt_iter index1 = find_point(_points.begin(),
                                       ^~~~~~~~~~
developedpatch.cpp:282:39: note: suggested alternative: ‘midPoint’
                 patchpt_iter index1 = find_point(_points.begin(),
                                       ^~~~~~~~~~
                                       midPoint
make[1]: *** [Makefile:1752: developedpatch.o] Error 1

This is full log
https://paste.pound-python.org/show/JbpAfV2vWsmRUwHGjOzD/
Hope, you can help me.
Thank you!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.