Fix typos found using `codespell -wi3`
parent
78bf539919
commit
f5238f8761
|
@ -19,10 +19,10 @@ Modeling in Dust3D
|
||||||
|
|
||||||
#. Load Reference Sheet from Menu: File > Change Turnaround...
|
#. Load Reference Sheet from Menu: File > Change Turnaround...
|
||||||
#. Click Plus(+) Icon from Tool Box
|
#. Click Plus(+) Icon from Tool Box
|
||||||
#. Place node on the canvas acording to the reference background.
|
#. Place node on the canvas according to the reference background.
|
||||||
#. Use Mouse Wheel to Adjust the radius of the node, hold shift to slow down the scroll scale.
|
#. Use Mouse Wheel to Adjust the radius of the node, hold shift to slow down the scroll scale.
|
||||||
#. Use the Parts List panel to toggle the settings to make you easily select or see nodes.
|
#. Use the Parts List panel to toggle the settings to make you easily select or see nodes.
|
||||||
#. Use Mouse Middle button pluse Shift key to rotate and move around the Rendered Model.
|
#. Use Mouse Middle button plus Shift key to rotate and move around the Rendered Model.
|
||||||
|
|
||||||
.. image:: https://raw.githubusercontent.com/huxingyi/dust3d/master/docs/examples/modeling-ant/modeling-ant-dust3d-screenshot.png
|
.. image:: https://raw.githubusercontent.com/huxingyi/dust3d/master/docs/examples/modeling-ant/modeling-ant-dust3d-screenshot.png
|
||||||
|
|
||||||
|
|
|
@ -21,7 +21,7 @@ Download and Install Dust3D
|
||||||
|
|
||||||
https://github.com/huxingyi/dust3d/releases/download/1.0.0-rc.6/dust3d-1.0.0-rc.6.dmg
|
https://github.com/huxingyi/dust3d/releases/download/1.0.0-rc.6/dust3d-1.0.0-rc.6.dmg
|
||||||
|
|
||||||
If "The following disk images could't be opened" popped up, that means the downloaded file was broken, please retry.
|
If "The following disk images couldn't be opened" popped up, that means the downloaded file was broken, please retry.
|
||||||
|
|
||||||
|
|
||||||
If "can't be opened because its integrity cannot be verified" popped up, please follow ni_kush's answer in this reddit post_.
|
If "can't be opened because its integrity cannot be verified" popped up, please follow ni_kush's answer in this reddit post_.
|
||||||
|
|
|
@ -2,7 +2,7 @@ Dust3D Script Reference
|
||||||
---------------------------------------
|
---------------------------------------
|
||||||
Introduction
|
Introduction
|
||||||
===============
|
===============
|
||||||
| The most important function of Dust3D is to generate mesh from the source document, which contains the position, radius and connectivity informations of all the nodes.
|
| The most important function of Dust3D is to generate mesh from the source document, which contains the position, radius and connectivity information of all the nodes.
|
||||||
|
|
|
|
||||||
| Normally, the nodes are drawn by user on the canvas. The scripting system, which we introduce in this document, is to provide a way to procedurally generate nodes, and then the mesh can be generated from these nodes.
|
| Normally, the nodes are drawn by user on the canvas. The scripting system, which we introduce in this document, is to provide a way to procedurally generate nodes, and then the mesh can be generated from these nodes.
|
||||||
|
|
|
|
||||||
|
|
|
@ -70,7 +70,7 @@ Keyboard
|
||||||
+----------------------+--------------------------------------------------------------------------+
|
+----------------------+--------------------------------------------------------------------------+
|
||||||
| C | Toggle Part Chamfer state |
|
| C | Toggle Part Chamfer state |
|
||||||
+----------------------+--------------------------------------------------------------------------+
|
+----------------------+--------------------------------------------------------------------------+
|
||||||
| E | Swith the Selected Nodes to Different Profile (Main / Side) |
|
| E | Switch the Selected Nodes to Different Profile (Main / Side) |
|
||||||
+----------------------+--------------------------------------------------------------------------+
|
+----------------------+--------------------------------------------------------------------------+
|
||||||
| F | Bring the part widget of current hovered part to visible area |
|
| F | Bring the part widget of current hovered part to visible area |
|
||||||
+----------------------+--------------------------------------------------------------------------+
|
+----------------------+--------------------------------------------------------------------------+
|
||||||
|
|
|
@ -853,11 +853,11 @@ win32 {
|
||||||
}
|
}
|
||||||
|
|
||||||
isEmpty(BOOST_INCLUDEDIR) {
|
isEmpty(BOOST_INCLUDEDIR) {
|
||||||
error("No BOOST_INCLUDEDIR define found in enviroment variables")
|
error("No BOOST_INCLUDEDIR define found in environment variables")
|
||||||
}
|
}
|
||||||
|
|
||||||
isEmpty(CGAL_DIR) {
|
isEmpty(CGAL_DIR) {
|
||||||
error("No CGAL_DIR define found in enviroment variables")
|
error("No CGAL_DIR define found in environment variables")
|
||||||
}
|
}
|
||||||
|
|
||||||
GMP_LIBNAME = libgmp-10
|
GMP_LIBNAME = libgmp-10
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
#include "fixholes.h"
|
#include "fixholes.h"
|
||||||
#include "util.h"
|
#include "util.h"
|
||||||
|
|
||||||
void fixHoles(const std::vector<QVector3D> &verticies, std::vector<std::vector<size_t>> &faces)
|
void fixHoles(const std::vector<QVector3D> &vertices, std::vector<std::vector<size_t>> &faces)
|
||||||
{
|
{
|
||||||
std::map<std::pair<size_t, size_t>, std::unordered_set<size_t>> edgeToFaceSetMap;
|
std::map<std::pair<size_t, size_t>, std::unordered_set<size_t>> edgeToFaceSetMap;
|
||||||
|
|
||||||
|
@ -139,7 +139,7 @@ void fixHoles(const std::vector<QVector3D> &verticies, std::vector<std::vector<s
|
||||||
}
|
}
|
||||||
ring.push_back(index);
|
ring.push_back(index);
|
||||||
visited.insert(index);
|
visited.insert(index);
|
||||||
//ringLength += (verticies[index] - verticies[prev]).length();
|
//ringLength += (vertices[index] - vertices[prev]).length();
|
||||||
prev = index;
|
prev = index;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -167,9 +167,9 @@ void fixHoles(const std::vector<QVector3D> &verticies, std::vector<std::vector<s
|
||||||
for (const auto &startVertex: startVertices)
|
for (const auto &startVertex: startVertices)
|
||||||
findRing(startVertex);
|
findRing(startVertex);
|
||||||
|
|
||||||
std::vector<simpleuv::Vertex> simpleuvVertices(verticies.size());
|
std::vector<simpleuv::Vertex> simpleuvVertices(vertices.size());
|
||||||
for (size_t i = 0; i < simpleuvVertices.size(); ++i) {
|
for (size_t i = 0; i < simpleuvVertices.size(); ++i) {
|
||||||
const auto &src = verticies[i];
|
const auto &src = vertices[i];
|
||||||
simpleuvVertices[i] = simpleuv::Vertex {{src.x(), src.y(), src.z()}};
|
simpleuvVertices[i] = simpleuv::Vertex {{src.x(), src.y(), src.z()}};
|
||||||
}
|
}
|
||||||
std::vector<simpleuv::Face> newFaces;
|
std::vector<simpleuv::Face> newFaces;
|
||||||
|
@ -177,7 +177,7 @@ void fixHoles(const std::vector<QVector3D> &verticies, std::vector<std::vector<s
|
||||||
simpleuv::triangulate(simpleuvVertices, newFaces, holeRings[i].first);
|
simpleuv::triangulate(simpleuvVertices, newFaces, holeRings[i].first);
|
||||||
}
|
}
|
||||||
|
|
||||||
//saveAsObj("fixholes_input.obj", verticies, faces);
|
//saveAsObj("fixholes_input.obj", vertices, faces);
|
||||||
//std::vector<std::vector<size_t>> addedFaces;
|
//std::vector<std::vector<size_t>> addedFaces;
|
||||||
//std::vector<std::vector<size_t>> removedFaces;
|
//std::vector<std::vector<size_t>> removedFaces;
|
||||||
std::vector<std::vector<size_t>> fixedFaces;
|
std::vector<std::vector<size_t>> fixedFaces;
|
||||||
|
@ -188,14 +188,14 @@ void fixHoles(const std::vector<QVector3D> &verticies, std::vector<std::vector<s
|
||||||
}
|
}
|
||||||
fixedFaces.push_back(faces[i]);
|
fixedFaces.push_back(faces[i]);
|
||||||
}
|
}
|
||||||
//saveAsObj("fixholes_output_without_newfaces.obj", verticies, fixedFaces);
|
//saveAsObj("fixholes_output_without_newfaces.obj", vertices, fixedFaces);
|
||||||
for (const auto &it: newFaces) {
|
for (const auto &it: newFaces) {
|
||||||
fixedFaces.push_back(std::vector<size_t> {it.indices[0], it.indices[1], it.indices[2]});
|
fixedFaces.push_back(std::vector<size_t> {it.indices[0], it.indices[1], it.indices[2]});
|
||||||
//addedFaces.push_back(std::vector<size_t> {it.indices[0], it.indices[1], it.indices[2]});
|
//addedFaces.push_back(std::vector<size_t> {it.indices[0], it.indices[1], it.indices[2]});
|
||||||
}
|
}
|
||||||
//saveAsObj("fixholes_output.obj", verticies, fixedFaces);
|
//saveAsObj("fixholes_output.obj", vertices, fixedFaces);
|
||||||
//saveAsObj("fixholes_added.obj", verticies, addedFaces);
|
//saveAsObj("fixholes_added.obj", vertices, addedFaces);
|
||||||
//saveAsObj("fixholes_removed.obj", verticies, removedFaces);
|
//saveAsObj("fixholes_removed.obj", vertices, removedFaces);
|
||||||
|
|
||||||
faces = fixedFaces;
|
faces = fixedFaces;
|
||||||
|
|
||||||
|
|
|
@ -3,6 +3,6 @@
|
||||||
#include <QVector3D>
|
#include <QVector3D>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
void fixHoles(const std::vector<QVector3D> &verticies, std::vector<std::vector<size_t>> &faces);
|
void fixHoles(const std::vector<QVector3D> &vertices, std::vector<std::vector<size_t>> &faces);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -316,7 +316,7 @@ void GridMeshBuilder::extrude()
|
||||||
}
|
}
|
||||||
|
|
||||||
bool pickSecondMesh = false;
|
bool pickSecondMesh = false;
|
||||||
// The outter faces should have longer edges
|
// The outer faces should have longer edges
|
||||||
float sumOfFirstMeshEdgeLength = 0;
|
float sumOfFirstMeshEdgeLength = 0;
|
||||||
float sumOfSecondMeshEdgeLength = 0;
|
float sumOfSecondMeshEdgeLength = 0;
|
||||||
for (size_t i = 0; i < m_generatedFaces.size(); ++i) {
|
for (size_t i = 0; i < m_generatedFaces.size(); ++i) {
|
||||||
|
|
|
@ -66,7 +66,7 @@ bool MeshSplitter::split(const std::set<MeshSplitterTriangle> &input,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Find one triangle wich is direct neighbor of one splitter
|
// Find one triangle which is direct neighbor of one splitter
|
||||||
MeshSplitterTriangle startTriangle;
|
MeshSplitterTriangle startTriangle;
|
||||||
bool foundStartTriangle = false;
|
bool foundStartTriangle = false;
|
||||||
for (const auto &triangle: splitter) {
|
for (const auto &triangle: splitter) {
|
||||||
|
|
|
@ -271,7 +271,7 @@ void ModelMeshBinder::paint(ModelShaderProgram *program)
|
||||||
if (m_renderEdgeVertexCount > 0) {
|
if (m_renderEdgeVertexCount > 0) {
|
||||||
QOpenGLVertexArrayObject::Binder vaoBinder(&m_vaoEdge);
|
QOpenGLVertexArrayObject::Binder vaoBinder(&m_vaoEdge);
|
||||||
QOpenGLFunctions *f = QOpenGLContext::currentContext()->functions();
|
QOpenGLFunctions *f = QOpenGLContext::currentContext()->functions();
|
||||||
// glDrawArrays GL_LINES crashs on Mesa GL
|
// glDrawArrays GL_LINES crashes on Mesa GL
|
||||||
if (program->isCoreProfile()) {
|
if (program->isCoreProfile()) {
|
||||||
program->setUniformValue(program->textureEnabledLoc(), 0);
|
program->setUniformValue(program->textureEnabledLoc(), 0);
|
||||||
program->setUniformValue(program->normalMapEnabledLoc(), 0);
|
program->setUniformValue(program->normalMapEnabledLoc(), 0);
|
||||||
|
|
|
@ -17,7 +17,7 @@ ModelOffscreenRender::ModelOffscreenRender(const QSurfaceFormat &format, QScreen
|
||||||
ModelOffscreenRender::~ModelOffscreenRender()
|
ModelOffscreenRender::~ModelOffscreenRender()
|
||||||
{
|
{
|
||||||
// FIXME: If delete m_renderFbo inside toImage,
|
// FIXME: If delete m_renderFbo inside toImage,
|
||||||
// sometimes, the application will freeze, maybe there are dead locks inside the desctruction call
|
// sometimes, the application will freeze, maybe there are dead locks inside the destruction call
|
||||||
// move it here can make sure it will be deleted on the main GUI thread to avoid dead locks
|
// move it here can make sure it will be deleted on the main GUI thread to avoid dead locks
|
||||||
delete m_renderFbo;
|
delete m_renderFbo;
|
||||||
|
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
#include "util.h"
|
#include "util.h"
|
||||||
#include "preferences.h"
|
#include "preferences.h"
|
||||||
|
|
||||||
// Modifed from http://doc.qt.io/qt-5/qtopengl-hellogl2-glwidget-cpp.html
|
// Modified from http://doc.qt.io/qt-5/qtopengl-hellogl2-glwidget-cpp.html
|
||||||
|
|
||||||
bool ModelWidget::m_transparent = true;
|
bool ModelWidget::m_transparent = true;
|
||||||
float ModelWidget::m_minZoomRatio = 5.0;
|
float ModelWidget::m_minZoomRatio = 5.0;
|
||||||
|
|
|
@ -676,7 +676,7 @@ private:
|
||||||
void alignSelectedToLocal(bool alignToVerticalCenter, bool alignToHorizontalCenter);
|
void alignSelectedToLocal(bool alignToVerticalCenter, bool alignToHorizontalCenter);
|
||||||
void rotateItems(const std::set<SkeletonGraphicsNodeItem *> &nodeItems, int degree, QVector2D center);
|
void rotateItems(const std::set<SkeletonGraphicsNodeItem *> &nodeItems, int degree, QVector2D center);
|
||||||
void rotateAllSideProfile(int degree);
|
void rotateAllSideProfile(int degree);
|
||||||
private: //need initalize
|
private: //need initialize
|
||||||
const SkeletonDocument *m_document;
|
const SkeletonDocument *m_document;
|
||||||
QGraphicsPixmapItem *m_backgroundItem;
|
QGraphicsPixmapItem *m_backgroundItem;
|
||||||
bool m_turnaroundChanged;
|
bool m_turnaroundChanged;
|
||||||
|
|
Loading…
Reference in New Issue