source typo fixes pt2 (only on py3 merged code)
This commit is contained in:
@@ -67,7 +67,7 @@ public:
|
||||
* The point \a rclRes holds the intersection point with the ray and the
|
||||
* nearest facet with index \a rulFacet.
|
||||
* \note This method tests all facets so it should only be used
|
||||
* occassionally.
|
||||
* occasionally.
|
||||
*/
|
||||
bool NearestFacetOnRay (const Base::Vector3f &rclPt, const Base::Vector3f &rclDir, Base::Vector3f &rclRes,
|
||||
unsigned long &rulFacet) const;
|
||||
|
||||
@@ -206,7 +206,7 @@ public:
|
||||
/** Searches for the nearest facet in a given grid element and returns the facet index and the actual distance. */
|
||||
void SearchNearestFacetInGrid(unsigned long ulX, unsigned long ulY, unsigned long ulZ, const Base::Vector3f &rclPt,
|
||||
float &rfMinDist, unsigned long &rulFacetInd) const;
|
||||
/** Does basically the same as the method above unless that grid neighbours upto the order of \a ulDistance
|
||||
/** Does basically the same as the method above unless that grid neighbours up to the order of \a ulDistance
|
||||
* are introduced into the search. */
|
||||
void SearchNearestFacetInHull (unsigned long ulX, unsigned long ulY, unsigned long ulZ, unsigned long ulDistance,
|
||||
const Base::Vector3f &rclPt, unsigned long &rulFacetInd, float &rfMinDist) const;
|
||||
|
||||
@@ -103,7 +103,7 @@ public:
|
||||
void RecalcBoundBox (void);
|
||||
|
||||
/** Returns the point at the given index. This method is rather slow and should be
|
||||
* called occassionally only. For fast access the MeshPointIterator interfsce should
|
||||
* called occasionally only. For fast access the MeshPointIterator interfsce should
|
||||
* be used.
|
||||
*/
|
||||
inline MeshPoint GetPoint (unsigned long ulIndex) const;
|
||||
@@ -114,7 +114,7 @@ public:
|
||||
std::vector<Base::Vector3f> CalcVertexNormals() const;
|
||||
|
||||
/** Returns the facet at the given index. This method is rather slow and should be
|
||||
* called occassionally only. For fast access the MeshFacetIterator interface should
|
||||
* called occasionally only. For fast access the MeshFacetIterator interface should
|
||||
* be used.
|
||||
*/
|
||||
inline MeshGeomFacet GetFacet (unsigned long ulIndex) const;
|
||||
@@ -130,7 +130,7 @@ public:
|
||||
unsigned long &rulNIdx1, unsigned long &rulNIdx2) const;
|
||||
|
||||
/** Determines all facets that are associated to this point. This method is very
|
||||
* slow and should be called occassionally only.
|
||||
* slow and should be called occasionally only.
|
||||
*/
|
||||
std::vector<unsigned long> HasFacets (const MeshPointIterator &rclIter) const;
|
||||
|
||||
@@ -267,11 +267,11 @@ public:
|
||||
/** @name Modification */
|
||||
//@{
|
||||
/** Adds a single facet to the data structure. This method is very slow and should
|
||||
* be called occassionally only.
|
||||
* be called occasionally only.
|
||||
*/
|
||||
MeshKernel& operator += (const MeshGeomFacet &rclSFacet);
|
||||
/** Adds a single facet to the data structure. This method is very slow and should
|
||||
* be called occassionally only. This does the same as the += operator above.
|
||||
* be called occasionally only. This does the same as the += operator above.
|
||||
*/
|
||||
void AddFacet(const MeshGeomFacet &rclSFacet);
|
||||
/** Adds an array of facets to the data structure. This method keeps temporarily
|
||||
@@ -300,7 +300,7 @@ public:
|
||||
*
|
||||
* Example:
|
||||
* We have a mesh with p points and f facets where we want append new points and facets to.
|
||||
* Let's assume that the first facet of \a rclFAry refereneces the 1st, 2nd and 3rd points
|
||||
* Let's assume that the first facet of \a rclFAry references the 1st, 2nd and 3rd points
|
||||
* of \a rclPAry then its indices must be p, p+1, p+2 -- not 0,1,2. This is due to the fact
|
||||
* that facets of \a rclFAry can also reference point indices of the internal point array.
|
||||
* @note This method is quite expensive and should be rarely used.
|
||||
@@ -330,7 +330,7 @@ public:
|
||||
* \li Adjust the indices of the neighbour facets of all facets.
|
||||
* \li If there is no neighbour facet check if the points can be deleted.
|
||||
* True is returned if the facet could be deleted.
|
||||
* @note This method is very slow and should only be called occassionally.
|
||||
* @note This method is very slow and should only be called occasionally.
|
||||
* @note After deletion of the facet \a rclIter becomes invalid and must not
|
||||
* be used before setting to a new position.
|
||||
*/
|
||||
@@ -343,14 +343,14 @@ public:
|
||||
* @note This method overwrites the free usable property of each mesh point.
|
||||
* @note This method also removes points from the structure that are no longer
|
||||
* referenced by the facets.
|
||||
* @note This method is very slow and should only be called occassionally.
|
||||
* @note This method is very slow and should only be called occasionally.
|
||||
*/
|
||||
void DeleteFacets (const std::vector<unsigned long> &raulFacets);
|
||||
/** Deletes the point the iterator points to. The deletion of a point requires the following step:
|
||||
* \li Find all associated facets to this point.
|
||||
* \li Delete these facets.
|
||||
* True is returned if the point could be deleted.
|
||||
* @note This method is very slow and should only be called occassionally.
|
||||
* @note This method is very slow and should only be called occasionally.
|
||||
* @note After deletion of the point \a rclIter becomes invalid and must not
|
||||
* be used before setting to a new position.
|
||||
*/
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
|
||||
|
||||
/*! \namespace Mesh
|
||||
\brief The namespace of the Mesh Aplication layer library
|
||||
\brief The namespace of the Mesh Application layer library
|
||||
*/
|
||||
|
||||
/*! \namespace MeshCore
|
||||
|
||||
@@ -95,7 +95,7 @@ void GTSAlgos::boolean(const Mesh::MeshObject& ToolMesh, int Type)
|
||||
//Mesh1.clear();
|
||||
//Mesh2.clear();
|
||||
|
||||
// check that the surfaces are orientable manifolds
|
||||
// check that the surfaces are orientable manifolds
|
||||
if (!gts_surface_is_orientable (s1)) {
|
||||
gts_object_destroy (GTS_OBJECT (s1));
|
||||
gts_object_destroy (GTS_OBJECT (s2));
|
||||
@@ -107,7 +107,7 @@ void GTSAlgos::boolean(const Mesh::MeshObject& ToolMesh, int Type)
|
||||
throw Base::Exception("surface 2 is not an orientable manifold\n");
|
||||
}
|
||||
|
||||
// check that the surfaces are not self-intersecting
|
||||
// check that the surfaces are not self-intersecting
|
||||
if (check_self_intersection) {
|
||||
GtsSurface * self_intersects;
|
||||
|
||||
@@ -133,7 +133,7 @@ void GTSAlgos::boolean(const Mesh::MeshObject& ToolMesh, int Type)
|
||||
}
|
||||
}
|
||||
|
||||
// build bounding box tree for first surface
|
||||
// build bounding box tree for first surface
|
||||
tree1 = gts_bb_tree_surface (s1);
|
||||
is_open1 = gts_surface_volume (s1) < 0. ? TRUE : FALSE;
|
||||
|
||||
@@ -177,7 +177,7 @@ void GTSAlgos::boolean(const Mesh::MeshObject& ToolMesh, int Type)
|
||||
gts_surface_inter_boolean (si, s3, GTS_1_OUT_2);
|
||||
}
|
||||
|
||||
// check that the resulting surface is not self-intersecting
|
||||
// check that the resulting surface is not self-intersecting
|
||||
if (check_self_intersection) {
|
||||
GtsSurface * self_intersects;
|
||||
|
||||
@@ -192,14 +192,14 @@ void GTSAlgos::boolean(const Mesh::MeshObject& ToolMesh, int Type)
|
||||
gts_object_destroy (GTS_OBJECT (s3));
|
||||
gts_object_destroy (GTS_OBJECT (si));
|
||||
gts_bb_tree_destroy (tree1, TRUE);
|
||||
gts_bb_tree_destroy (tree2, TRUE);
|
||||
gts_bb_tree_destroy (tree2, TRUE);
|
||||
throw Base::Exception("the resulting surface is self-intersecting\n");
|
||||
}
|
||||
}
|
||||
// display summary information about the resulting surface
|
||||
// display summary information about the resulting surface
|
||||
// if (verbose)
|
||||
// gts_surface_print_stats (s3, stderr);
|
||||
// write resulting surface to standard output
|
||||
// write resulting surface to standard output
|
||||
|
||||
// get the standard mesh
|
||||
_Mesh.clear();
|
||||
@@ -212,9 +212,9 @@ void GTSAlgos::boolean(const Mesh::MeshObject& ToolMesh, int Type)
|
||||
gts_object_destroy (GTS_OBJECT (s3));
|
||||
gts_object_destroy (GTS_OBJECT (si));
|
||||
|
||||
// destroy bounding box trees (including bounding boxes)
|
||||
// destroy bounding box trees (including bounding boxes)
|
||||
gts_bb_tree_destroy (tree1, TRUE);
|
||||
gts_bb_tree_destroy (tree2, TRUE);
|
||||
gts_bb_tree_destroy (tree2, TRUE);
|
||||
|
||||
|
||||
}
|
||||
@@ -223,7 +223,7 @@ void GTSAlgos::boolean(const Mesh::MeshObject& ToolMesh, int Type)
|
||||
|
||||
|
||||
|
||||
/// helper function - construct a Edge out of two Vertexes if not allready there
|
||||
/// helper function - construct a Edge out of two Vertexes if not already there
|
||||
static GtsEdge * new_edge (GtsVertex * v1, GtsVertex * v2)
|
||||
{
|
||||
GtsSegment * s = gts_vertices_are_connected (v1, v2);
|
||||
@@ -258,7 +258,7 @@ GtsSurface* GTSAlgos::createGTSSurface(const Mesh::MeshObject& Mesh)
|
||||
// cycling through the facets
|
||||
for (unsigned int pFIter = 0;pFIter < Mesh.getKernel().CountFacets(); pFIter++)
|
||||
{
|
||||
// geting the three points of the facet
|
||||
// getting the three points of the facet
|
||||
Mesh.getKernel().GetFacetPoints(pFIter,p1,p2,p3);
|
||||
|
||||
// creating the edges and add the face to the surface
|
||||
@@ -273,7 +273,7 @@ GtsSurface* GTSAlgos::createGTSSurface(const Mesh::MeshObject& Mesh)
|
||||
gts_surface_vertex_number(Surf),
|
||||
gts_surface_edge_number(Surf),
|
||||
gts_surface_is_orientable (Surf)?"orientable":"not orientable",
|
||||
gts_surface_is_self_intersecting(Surf)?"self-intersections":"no self-intersection" );
|
||||
gts_surface_is_self_intersecting(Surf)?"self-intersections":"no self-intersection" );
|
||||
|
||||
return Surf;
|
||||
}
|
||||
@@ -302,7 +302,7 @@ void GTSAlgos::fillMeshFromGTSSurface(Mesh::MeshObject& Mesh, GtsSurface* pSurfa
|
||||
// gts_surface_foreach_vertex(pSurface,(GtsFunc) onVertices,&MeshK);
|
||||
gts_surface_foreach_face (pSurface, (GtsFunc) onFaces,&VAry);
|
||||
|
||||
// destroy surfaces
|
||||
// destroy surfaces
|
||||
//gts_object_destroy (GTS_OBJECT (pSurface));
|
||||
|
||||
// put the facets the simple way in the mesh, totp is recalculated!
|
||||
|
||||
@@ -438,7 +438,7 @@ plane if none of its neighours is coplanar.</UserDocu>
|
||||
<Documentation>
|
||||
<UserDocu>getSegmentsByCurvature(list) -> list
|
||||
The argument list gives a list if tuples where it defines the preferred maximum curvature,
|
||||
the preferred minumum curvature, the tolerances and the number of minimum faces for the segment.
|
||||
the preferred minimum curvature, the tolerances and the number of minimum faces for the segment.
|
||||
Example:
|
||||
c=(1.0, 0.0, 0.1, 0.1, 500) # search for a cylinder with radius 1.0
|
||||
p=(0.0, 0.0, 0.1, 0.1, 500) # search for a plane
|
||||
|
||||
@@ -209,7 +209,7 @@ void CmdMeshUnion::activated(int)
|
||||
if (found) {
|
||||
QMessageBox::critical(Gui::getMainWindow(),
|
||||
qApp->translate("Mesh_Union", "OpenSCAD"),
|
||||
qApp->translate("Mesh_Union", "Unknwon error occured while running OpenSCAD."));
|
||||
qApp->translate("Mesh_Union", "Unknown error occurred while running OpenSCAD."));
|
||||
}
|
||||
else {
|
||||
QMessageBox::warning(Gui::getMainWindow(),
|
||||
@@ -279,7 +279,7 @@ void CmdMeshDifference::activated(int)
|
||||
if (found) {
|
||||
QMessageBox::critical(Gui::getMainWindow(),
|
||||
qApp->translate("Mesh_Union", "OpenSCAD"),
|
||||
qApp->translate("Mesh_Union", "Unknwon error occured while running OpenSCAD."));
|
||||
qApp->translate("Mesh_Union", "Unknown error occurred while running OpenSCAD."));
|
||||
}
|
||||
else {
|
||||
QMessageBox::warning(Gui::getMainWindow(),
|
||||
@@ -349,7 +349,7 @@ void CmdMeshIntersection::activated(int)
|
||||
if (found) {
|
||||
QMessageBox::critical(Gui::getMainWindow(),
|
||||
qApp->translate("Mesh_Union", "OpenSCAD"),
|
||||
qApp->translate("Mesh_Union", "Unknwon error occured while running OpenSCAD."));
|
||||
qApp->translate("Mesh_Union", "Unknown error occurred while running OpenSCAD."));
|
||||
}
|
||||
else {
|
||||
QMessageBox::warning(Gui::getMainWindow(),
|
||||
|
||||
@@ -23,13 +23,13 @@
|
||||
|
||||
#include "PreCompiled.h"
|
||||
|
||||
#ifndef _PreComp_
|
||||
# include <QPushButton>
|
||||
#ifndef _PreComp_
|
||||
# include <QPushButton>
|
||||
#endif
|
||||
|
||||
#include "RemoveComponents.h"
|
||||
#include "ui_RemoveComponents.h"
|
||||
#include <Gui/Application.h>
|
||||
#include <Gui/Application.h>
|
||||
#include <Gui/Document.h>
|
||||
|
||||
using namespace MeshGui;
|
||||
@@ -44,9 +44,9 @@ RemoveComponents::RemoveComponents(QWidget* parent, Qt::WindowFlags fl)
|
||||
ui->spSelectComp->setValue(10);
|
||||
ui->spDeselectComp->setRange(1, INT_MAX);
|
||||
ui->spDeselectComp->setValue(10);
|
||||
|
||||
meshSel.setCheckOnlyVisibleTriangles(ui->visibleTriangles->isChecked());
|
||||
meshSel.setCheckOnlyPointToUserTriangles(ui->screenTriangles->isChecked());
|
||||
|
||||
meshSel.setCheckOnlyVisibleTriangles(ui->visibleTriangles->isChecked());
|
||||
meshSel.setCheckOnlyPointToUserTriangles(ui->screenTriangles->isChecked());
|
||||
}
|
||||
|
||||
RemoveComponents::~RemoveComponents()
|
||||
@@ -54,108 +54,108 @@ RemoveComponents::~RemoveComponents()
|
||||
// no need to delete child widgets, Qt does it all for us
|
||||
delete ui;
|
||||
}
|
||||
|
||||
void RemoveComponents::changeEvent(QEvent *e)
|
||||
{
|
||||
if (e->type() == QEvent::LanguageChange) {
|
||||
ui->retranslateUi(this);
|
||||
}
|
||||
QWidget::changeEvent(e);
|
||||
}
|
||||
|
||||
void RemoveComponents::changeEvent(QEvent *e)
|
||||
{
|
||||
if (e->type() == QEvent::LanguageChange) {
|
||||
ui->retranslateUi(this);
|
||||
}
|
||||
QWidget::changeEvent(e);
|
||||
}
|
||||
|
||||
void RemoveComponents::on_selectRegion_clicked()
|
||||
{
|
||||
meshSel.startSelection();
|
||||
meshSel.startSelection();
|
||||
}
|
||||
|
||||
void RemoveComponents::on_deselectRegion_clicked()
|
||||
{
|
||||
meshSel.startDeselection();
|
||||
meshSel.startDeselection();
|
||||
}
|
||||
|
||||
void RemoveComponents::on_selectAll_clicked()
|
||||
{
|
||||
// select the complete meshes
|
||||
meshSel.fullSelection();
|
||||
meshSel.fullSelection();
|
||||
}
|
||||
|
||||
void RemoveComponents::on_deselectAll_clicked()
|
||||
{
|
||||
// deselect all meshes
|
||||
meshSel.clearSelection();
|
||||
meshSel.clearSelection();
|
||||
}
|
||||
|
||||
void RemoveComponents::on_selectComponents_clicked()
|
||||
{
|
||||
// select components upto a certain size
|
||||
// select components up to a certain size
|
||||
int size = ui->spSelectComp->value();
|
||||
meshSel.selectComponent(size);
|
||||
meshSel.selectComponent(size);
|
||||
}
|
||||
|
||||
void RemoveComponents::on_deselectComponents_clicked()
|
||||
{
|
||||
// deselect components from a certain size on
|
||||
int size = ui->spDeselectComp->value();
|
||||
meshSel.deselectComponent(size);
|
||||
}
|
||||
meshSel.deselectComponent(size);
|
||||
}
|
||||
|
||||
void RemoveComponents::on_visibleTriangles_toggled(bool on)
|
||||
{
|
||||
meshSel.setCheckOnlyVisibleTriangles(on);
|
||||
}
|
||||
|
||||
void RemoveComponents::on_screenTriangles_toggled(bool on)
|
||||
{
|
||||
meshSel.setCheckOnlyPointToUserTriangles(on);
|
||||
}
|
||||
|
||||
void RemoveComponents::on_cbSelectComp_toggled(bool on)
|
||||
{
|
||||
meshSel.setAddComponentOnClick(on);
|
||||
}
|
||||
|
||||
void RemoveComponents::on_cbDeselectComp_toggled(bool on)
|
||||
{
|
||||
meshSel.setRemoveComponentOnClick(on);
|
||||
void RemoveComponents::on_visibleTriangles_toggled(bool on)
|
||||
{
|
||||
meshSel.setCheckOnlyVisibleTriangles(on);
|
||||
}
|
||||
|
||||
void RemoveComponents::on_screenTriangles_toggled(bool on)
|
||||
{
|
||||
meshSel.setCheckOnlyPointToUserTriangles(on);
|
||||
}
|
||||
|
||||
void RemoveComponents::on_cbSelectComp_toggled(bool on)
|
||||
{
|
||||
meshSel.setAddComponentOnClick(on);
|
||||
}
|
||||
|
||||
void RemoveComponents::on_cbDeselectComp_toggled(bool on)
|
||||
{
|
||||
meshSel.setRemoveComponentOnClick(on);
|
||||
}
|
||||
|
||||
void RemoveComponents::deleteSelection()
|
||||
{
|
||||
Gui::Document* doc = Gui::Application::Instance->activeDocument();
|
||||
if (!doc) return;
|
||||
// delete all selected faces
|
||||
// delete all selected faces
|
||||
doc->openCommand("Delete selection");
|
||||
bool ok = meshSel.deleteSelection();
|
||||
if (!ok)
|
||||
doc->abortCommand();
|
||||
else
|
||||
doc->commitCommand();
|
||||
bool ok = meshSel.deleteSelection();
|
||||
if (!ok)
|
||||
doc->abortCommand();
|
||||
else
|
||||
doc->commitCommand();
|
||||
}
|
||||
|
||||
void RemoveComponents::invertSelection()
|
||||
{
|
||||
meshSel.invertSelection();
|
||||
meshSel.invertSelection();
|
||||
}
|
||||
|
||||
void RemoveComponents::on_selectTriangle_clicked()
|
||||
{
|
||||
meshSel.selectTriangle();
|
||||
meshSel.setAddComponentOnClick(ui->cbSelectComp->isChecked());
|
||||
meshSel.selectTriangle();
|
||||
meshSel.setAddComponentOnClick(ui->cbSelectComp->isChecked());
|
||||
}
|
||||
|
||||
void RemoveComponents::on_deselectTriangle_clicked()
|
||||
{
|
||||
meshSel.deselectTriangle();
|
||||
meshSel.setRemoveComponentOnClick(ui->cbDeselectComp->isChecked());
|
||||
meshSel.deselectTriangle();
|
||||
meshSel.setRemoveComponentOnClick(ui->cbDeselectComp->isChecked());
|
||||
}
|
||||
|
||||
void RemoveComponents::reject()
|
||||
{
|
||||
// deselect all meshes
|
||||
meshSel.clearSelection();
|
||||
// deselect all meshes
|
||||
meshSel.clearSelection();
|
||||
}
|
||||
|
||||
// -------------------------------------------------
|
||||
|
||||
// -------------------------------------------------
|
||||
|
||||
RemoveComponentsDialog::RemoveComponentsDialog(QWidget* parent, Qt::WindowFlags fl)
|
||||
: QDialog(parent, fl)
|
||||
@@ -204,8 +204,8 @@ void RemoveComponentsDialog::clicked(QAbstractButton* btn)
|
||||
}
|
||||
|
||||
// ---------------------------------------
|
||||
|
||||
/* TRANSLATOR MeshGui::TaskRemoveComponents */
|
||||
|
||||
/* TRANSLATOR MeshGui::TaskRemoveComponents */
|
||||
|
||||
TaskRemoveComponents::TaskRemoveComponents()
|
||||
{
|
||||
|
||||
@@ -60,7 +60,7 @@
|
||||
<item row="1" column="0">
|
||||
<widget class="QLabel" name="label_2">
|
||||
<property name="text">
|
||||
<string>Minumum number of faces</string>
|
||||
<string>Minimum number of faces</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
|
||||
@@ -443,7 +443,7 @@ void SoFCMeshFaceSet::notify(SoNotList * node)
|
||||
* If \a simplest is true then the model is built from the bounding box instead.
|
||||
*
|
||||
* For every move event the complete data set must be iterated to refresh internal Inventor data @see generatePrimitives().
|
||||
* Doing this very often for very huge data sets slows down the system noticable. Using a rough model as proxy instead of the orignal
|
||||
* Doing this very often for very huge data sets slows down the system noticeably. Using a rough model as proxy instead of the orignal
|
||||
* data set can speed up the user interaction extremely.
|
||||
* @note The proxy will never be displayed. It's just used for the picking mechanism.
|
||||
* @note The usage of the proxy might be confusing a little bit due to the fact that some details get lost. So it'll be possible
|
||||
@@ -673,7 +673,7 @@ SoFCMeshFaceSet::Binding SoFCMeshFaceSet::findMaterialBinding(SoState * const st
|
||||
|
||||
/**
|
||||
* Renders the triangles of the complete mesh.
|
||||
* FIXME: Do it the same way as Coin did to have only one implementation which is controled by defines
|
||||
* FIXME: Do it the same way as Coin did to have only one implementation which is controlled by defines
|
||||
* FIXME: Implement using different values of transparency for each vertex or face
|
||||
*/
|
||||
void SoFCMeshFaceSet::drawFaces(const MeshCore::MeshPointArray * rPoints, const MeshCore::MeshFacetArray* rFacets,
|
||||
|
||||
@@ -135,7 +135,7 @@ void SoFCMeshNode::setMesh(const Mesh::MeshObject* mesh)
|
||||
* If \a simplest is true then the model is built from the bounding box instead.
|
||||
*
|
||||
* For every move event the complete data set must be iterated to refresh internal Inventor data @see generatePrimitives().
|
||||
* Doing this very often for very huge data sets slows down the system noticable. Using a rough model as proxy instead of the orignal
|
||||
* Doing this very often for very huge data sets slows down the system noticeably. Using a rough model as proxy instead of the orignal
|
||||
* data set can speed up the user interaction extremely.
|
||||
* @note The proxy will never be displayed. It's just used for the picking mechanism.
|
||||
* @note The usage of the proxy might be confusing a little bit due to the fact that some details get lost. So it'll be possible
|
||||
@@ -295,18 +295,18 @@ void SoFCMeshNode::GLRender(SoGLRenderAction *action)
|
||||
SoState* state = action->getState();
|
||||
|
||||
SbBool mode = Gui::SoFCInteractiveElement::get(state);
|
||||
|
||||
//Binding mbind = this->findMaterialBinding(state);
|
||||
|
||||
//Binding mbind = this->findMaterialBinding(state);
|
||||
|
||||
SoMaterialBundle mb(action);
|
||||
//SoTextureCoordinateBundle tb(action, true, false);
|
||||
|
||||
SbBool needNormals = !mb.isColorOnly()/* || tb.isFunction()*/;
|
||||
mb.sendFirst(); // make sure we have the correct material
|
||||
|
||||
//SbBool ccw = TRUE;
|
||||
//if (SoShapeHintsElement::getVertexOrdering(state) == SoShapeHintsElement::CLOCKWISE)
|
||||
// ccw = FALSE;
|
||||
|
||||
//SbBool ccw = TRUE;
|
||||
//if (SoShapeHintsElement::getVertexOrdering(state) == SoShapeHintsElement::CLOCKWISE)
|
||||
// ccw = FALSE;
|
||||
|
||||
if ( mode == false || countTriangles() <= this->MaximumTriangles )
|
||||
drawFaces(needNormals);
|
||||
|
||||
@@ -682,7 +682,7 @@ SoFCMeshObjectShape::Binding SoFCMeshObjectShape::findMaterialBinding(SoState *
|
||||
|
||||
/**
|
||||
* Renders the triangles of the complete mesh.
|
||||
* FIXME: Do it the same way as Coin did to have only one implementation which is controled by defines
|
||||
* FIXME: Do it the same way as Coin did to have only one implementation which is controlled by defines
|
||||
* FIXME: Implement using different values of transparency for each vertex or face
|
||||
*/
|
||||
void SoFCMeshObjectShape::drawFaces(const Mesh::MeshObject * mesh, SoMaterialBundle* mb,
|
||||
@@ -1219,7 +1219,7 @@ SoFCMeshSegmentShape::Binding SoFCMeshSegmentShape::findMaterialBinding(SoState
|
||||
|
||||
/**
|
||||
* Renders the triangles of the complete mesh.
|
||||
* FIXME: Do it the same way as Coin did to have only one implementation which is controled by defines
|
||||
* FIXME: Do it the same way as Coin did to have only one implementation which is controlled by defines
|
||||
* FIXME: Implement using different values of transparency for each vertex or face
|
||||
*/
|
||||
void SoFCMeshSegmentShape::drawFaces(const Mesh::MeshObject * mesh, SoMaterialBundle* mb,
|
||||
|
||||
@@ -72,7 +72,7 @@ public:
|
||||
numFacets = new QLabel();
|
||||
|
||||
labelMin = new QLabel();
|
||||
labelMin->setText(QString::fromLatin1("Minumum bound:"));
|
||||
labelMin->setText(QString::fromLatin1("Minimum bound:"));
|
||||
|
||||
labelMax = new QLabel();
|
||||
labelMax->setText(QString::fromLatin1("Maximum bound:"));
|
||||
|
||||
Reference in New Issue
Block a user