source typo fixes pt2 (only on py3 merged code)
This commit is contained in:
parent
06b10a4061
commit
0485edd560
|
@ -5,7 +5,7 @@ gathered after examining and removing most of the warnings emitted
|
|||
by Doxygen. For information on (re)building the source docs, see
|
||||
\ref makingdocs
|
||||
|
||||
- Pay attention to warnings emited by doxygen when building the doc.
|
||||
- Pay attention to warnings emitted by doxygen when building the doc.
|
||||
The item giving rise to the warning will be skipped and will not be
|
||||
documented !
|
||||
|
||||
|
|
|
@ -334,7 +334,7 @@ typedef unsigned __int64 uint64_t;
|
|||
//# pragma warning( disable : 4503 )
|
||||
//# pragma warning( disable : 4786 ) // specifier longer then 255 chars
|
||||
//# pragma warning( disable : 4290 ) // not implemented throw specification
|
||||
# pragma warning( disable : 4996 ) // supress depricated warning for e.g. open()
|
||||
# pragma warning( disable : 4996 ) // suppress depricated warning for e.g. open()
|
||||
#if defined(WIN64) || defined(_WIN64) || defined(__WIN64__)
|
||||
# pragma warning( disable : 4244 )
|
||||
# pragma warning( disable : 4267 )
|
||||
|
|
|
@ -3145,7 +3145,7 @@ static PyObject * useMesh(PyObject *self, PyObject *args)
|
|||
// Count of Triangles
|
||||
m.CountFacets();
|
||||
|
||||
// Neigbour triangles
|
||||
// Neighbour triangles
|
||||
unsigned long idx1,idx2,idx3,idx=0;
|
||||
m.GetFacetNeighbours(idx,idx1,idx2,idx3);
|
||||
|
||||
|
|
|
@ -849,7 +849,7 @@ void Approximate::ErrorApprox()
|
|||
|
||||
anOutputFile << "Constructing" << std::endl;
|
||||
ublas::matrix<double> C_Temp(NumOfPoints,3);
|
||||
anOutputFile << "C_Temp succesfully constructed" << std::endl;
|
||||
anOutputFile << "C_Temp successfully constructed" << std::endl;
|
||||
//Time saving... C_Temp matrix is constant for all time
|
||||
|
||||
anOutputFile << "number of points: " << NumOfPoints << std::endl;
|
||||
|
@ -868,7 +868,7 @@ void Approximate::ErrorApprox()
|
|||
anOutputFile << "size(B_Matrix): " << NumOfPoints << " x " << (MainNurb.MaxU+1)*(MainNurb.MaxV+1) << std::endl;
|
||||
ublas::matrix<double> B_Matrix(NumOfPoints,(MainNurb.MaxU+1)*(MainNurb.MaxV+1));
|
||||
anOutputFile << "********************************" << endl;
|
||||
anOutputFile << "B_Matrix succesfully constructed" << std::endl;
|
||||
anOutputFile << "B_Matrix successfully constructed" << std::endl;
|
||||
anOutputFile << "Preparing B-Matrix..." << std::endl;
|
||||
|
||||
std::vector<double> N_u(MainNurb.MaxU+1, 0.0);
|
||||
|
@ -941,7 +941,7 @@ void Approximate::ErrorApprox()
|
|||
G_Matrix.resize(1,1, false);
|
||||
G_Matrix.clear();
|
||||
ublas::compressed_matrix<double> E_Matrix((MainNurb.MaxU+1)*(MainNurb.MaxV+1), (MainNurb.MaxU+1)*(MainNurb.MaxV+1));
|
||||
anOutputFile << "E_Matrix succesfully constructed" << std::endl;
|
||||
anOutputFile << "E_Matrix successfully constructed" << std::endl;
|
||||
anOutputFile << "Smoothing..." << std::endl;
|
||||
eFair2(E_Matrix);
|
||||
|
||||
|
|
|
@ -24,7 +24,7 @@
|
|||
***************************************************************************/
|
||||
/**************APPROX.H*********************
|
||||
*Class Approximate, inheriting from Routines
|
||||
*Dependancies:- BOOST, ATLAS, UMFPACK, BLAS
|
||||
*Dependencies:- BOOST, ATLAS, UMFPACK, BLAS
|
||||
* LAPACK
|
||||
********************************************/
|
||||
|
||||
|
|
|
@ -92,7 +92,7 @@ class Geom_BSplineCurve;
|
|||
|
||||
//! The Curve from BRepAdaptor allows to use a Wire of the BRep topology
|
||||
//! like a 3D curve. <br>
|
||||
//! Warning: With this class of curve, C0 and C1 continuities
|
||||
//! Warning: With this class of curve, C0 and C1 continuities
|
||||
//! are not assumed. So be careful with some algorithm!
|
||||
class BRepAdaptor_CompCurve2 : public Adaptor3d_Curve
|
||||
{
|
||||
|
@ -120,7 +120,7 @@ public:
|
|||
|
||||
Standard_EXPORT BRepAdaptor_CompCurve2(const TopoDS_Wire& W,const Standard_Boolean KnotByCurvilinearAbcissa = Standard_False);
|
||||
|
||||
//! Creates a Curve to acces to the geometry of edge \p W.
|
||||
//! Creates a Curve to access to the geometry of edge \p W.
|
||||
Standard_EXPORT BRepAdaptor_CompCurve2(const TopoDS_Wire& W,const Standard_Boolean KnotByCurvilinearAbcissa,const Standard_Real First,const Standard_Real Last,const Standard_Real Tol);
|
||||
|
||||
//! Sets the wire \p W.
|
||||
|
@ -153,9 +153,9 @@ public:
|
|||
//! May be one if Continuity(me) >= \<S\>
|
||||
Standard_EXPORT Standard_Integer NbIntervals(const GeomAbs_Shape S) ;
|
||||
|
||||
//! Stores in \<T\> the parameters bounding the intervals of continuity \<S\>. <br>
|
||||
//! Stores in \<T\> the parameters bounding the intervals of continuity \<S\>. <br>
|
||||
|
||||
//! The array must provide enough room to accomodate for the parameters.
|
||||
//! The array must provide enough room to accommodate for the parameters.
|
||||
//! i.e. T.Length() > NbIntervals()
|
||||
Standard_EXPORT void Intervals(TColStd_Array1OfReal& T,const GeomAbs_Shape S) ;
|
||||
|
||||
|
|
|
@ -2184,8 +2184,8 @@ std::vector<double> SpringbackCorrection::MeshCurvature(const TopoDS_Face& aFace
|
|||
bool SpringbackCorrection::MirrorMesh(std::vector<double> error)
|
||||
{
|
||||
// Flags: 0 - not yet checked
|
||||
// 1 - no correction applied, but neccessary
|
||||
// 2 - first correction applied and still neccessary
|
||||
// 1 - no correction applied, but necessary
|
||||
// 2 - first correction applied and still necessary
|
||||
// 3 - done successfully
|
||||
// 4 - done without success
|
||||
// 5 - boundary point
|
||||
|
|
|
@ -43,7 +43,7 @@ class MeshFacet;
|
|||
# define cMin 15.0
|
||||
# define toolRad 5.0
|
||||
|
||||
/** @brief a struct refering to the edges of the input-shape
|
||||
/** @brief a struct referring to the edges of the input-shape
|
||||
|
||||
@param anEdge edge
|
||||
@param aFace vector of faces limited by edge
|
||||
|
@ -60,7 +60,7 @@ struct EdgeStruct
|
|||
double MinOffset;
|
||||
};
|
||||
|
||||
/** @brief a struct refering to the mesh-points of the input-shape
|
||||
/** @brief a struct referring to the mesh-points of the input-shape
|
||||
|
||||
@param index index of the mesh-point
|
||||
@param minCurv minimum curvature-radius
|
||||
|
@ -196,7 +196,7 @@ public:
|
|||
//bool InsideCheck(Base::Vector3f pnt, Base::Vector3f normal, std::vector<Base::Vector3f> Neib);
|
||||
|
||||
//MeshCore::MeshKernel BuildMesh(Handle_Poly_Triangulation aTri, std::vector<Base::Vector3f> TrPoints);
|
||||
/** @brief returns index-value wich specifies the boundary-points of the
|
||||
/** @brief returns index-value which specifies the boundary-points of the
|
||||
input-mesh
|
||||
|
||||
@param mesh input-mesh
|
||||
|
@ -207,7 +207,7 @@ public:
|
|||
/** @brief smooths input-mesh
|
||||
|
||||
@param mesh input-mesh
|
||||
@param maxTranslation value wich stands for the maximum deviation
|
||||
@param maxTranslation value which stands for the maximum deviation
|
||||
from the initial-mesh
|
||||
*/
|
||||
bool SmoothMesh(MeshCore::MeshKernel &mesh, double maxTranslation);
|
||||
|
@ -216,7 +216,7 @@ public:
|
|||
@param mesh input-mesh
|
||||
@param indicies vector of indicies of the mesh-points for
|
||||
smoothing
|
||||
@param maxTranslation value wich stands for the maximum deviation
|
||||
@param maxTranslation value which stands for the maximum deviation
|
||||
from the initial-mesh
|
||||
*/
|
||||
bool SmoothMesh(MeshCore::MeshKernel &mesh, std::vector<int> indicies, double maxTranslation);
|
||||
|
@ -305,7 +305,7 @@ private:
|
|||
//std::vector<MeshCore::MeshFacet> m_RegionBounds;
|
||||
/** @brief external setting-parameters*/
|
||||
CuttingToolsSettings m_set;
|
||||
/** @brief index wich specifies the current ring-neighbourhood for the
|
||||
/** @brief index which specifies the current ring-neighbourhood for the
|
||||
region-growing-algorithm*/
|
||||
int m_RingCurrent;
|
||||
private:
|
||||
|
@ -328,12 +328,12 @@ private:
|
|||
points */
|
||||
std::vector<double> m_Offset;
|
||||
public:
|
||||
/** @brief map wich links mesh-point to mesh-index*/
|
||||
/** @brief map which links mesh-point to mesh-index*/
|
||||
std::map<Base::Vector3f,MeshPnt,MeshPntLess > MeshMap;
|
||||
/** @brief map over all edges*/
|
||||
std::map<TopoDS_Edge, std::vector<double>, Edge_Less> EdgeMap;
|
||||
|
||||
/** @brief vector containing the user-specified faces wich stands fix
|
||||
/** @brief vector containing the user-specified faces which stands fix
|
||||
during the springback-correction*/
|
||||
std::vector<TopoDS_Face> m_FixFaces;
|
||||
};
|
||||
|
|
|
@ -46,7 +46,7 @@
|
|||
It takes a mesh and a Topo_Shape as it's input parameter.
|
||||
|
||||
As output, it gives a transformed mesh (rotation + translation)
|
||||
based on a weighted ICP-Algorithm (ICP: Iterative Closed Point) wich fits the
|
||||
based on a weighted ICP-Algorithm (ICP: Iterative Closed Point) which fits the
|
||||
Topo_Shape
|
||||
*/
|
||||
|
||||
|
@ -110,7 +110,7 @@ public:
|
|||
|
||||
\param shape specifies the shape to be tesselated
|
||||
\param mesh output-mesh to store the computed triangulation
|
||||
\param deflection parameter wich determines the accuracy of the
|
||||
\param deflection parameter which determines the accuracy of the
|
||||
triangulation
|
||||
*/
|
||||
static bool Tesselate_Shape(const TopoDS_Shape &shape, MeshCore::MeshKernel &mesh, float deflection);
|
||||
|
@ -119,7 +119,7 @@ public:
|
|||
|
||||
\param aface specifies the face to be tesselated
|
||||
\param mesh output-mesh to store the computed triangulation
|
||||
\param deflection parameter wich determines the accuracy of the
|
||||
\param deflection parameter which determines the accuracy of the
|
||||
triangulation
|
||||
*/
|
||||
static bool Tesselate_Face (const TopoDS_Face &aface, MeshCore::MeshKernel &mesh, float deflection);
|
||||
|
|
|
@ -56,7 +56,7 @@ path_simulate::path_simulate(const std::vector<Handle_Geom_BSplineCurve> &BSplin
|
|||
m_it1 = m_BSplineTop.begin();
|
||||
m_it2 = m_BSplineBottom.begin();
|
||||
|
||||
//Initalise some vars
|
||||
//Initialise some vars
|
||||
gp_Pnt p(0,0,0);
|
||||
gp_Pnt q(0,0,0);
|
||||
|
||||
|
@ -117,7 +117,7 @@ double path_simulate::GetLength(GeomAdaptor_Curve& curve, const Standard_Real st
|
|||
|
||||
if ( eParam > lastParameter )
|
||||
{
|
||||
//get the first part of the lenght
|
||||
//get the first part of the length
|
||||
Standard_Real l1 = GetLength(curve,firstParameter,eParam-lastParameter);
|
||||
Standard_Real l2 = GetLength(curve,sParam,lastParameter);
|
||||
return l1 + l2;
|
||||
|
|
|
@ -34,14 +34,14 @@
|
|||
|
||||
/*! \brief The main class for the path_simulate routine
|
||||
|
||||
As it's input parameters it takes one respectivly two vectors of B-Spline
|
||||
As it's input parameters it takes one respectively two vectors of B-Spline
|
||||
Curves (describing the Tool-Paths for the IBU-simulation), two values
|
||||
a_max and v_max of type double, wich stands for the maximum allowable
|
||||
a_max and v_max of type double, which stands for the maximum allowable
|
||||
acceleration and velocity of the tool-movement and one value m_step of
|
||||
type double, specifying the step-length of the time-output-vector.
|
||||
|
||||
As output, it gives one respectivly two output-files for the simulation
|
||||
process containing a two-dimensional vector of time vs. velocity wich
|
||||
As output, it gives one respectively two output-files for the simulation
|
||||
process containing a two-dimensional vector of time vs. velocity which
|
||||
describes the tool-movement.
|
||||
*/
|
||||
|
||||
|
@ -55,7 +55,7 @@ public:
|
|||
paths of the master-tool
|
||||
@param BSplineBottom vector of B-Spline-Curves describing the tool-
|
||||
paths of the slave-tool
|
||||
@param set a struct wich also includes the parameters
|
||||
@param set a struct which also includes the parameters
|
||||
a_max and v_max
|
||||
*/
|
||||
path_simulate(const std::vector<Handle_Geom_BSplineCurve>& BSplineTop,
|
||||
|
@ -120,7 +120,7 @@ public:
|
|||
@param c
|
||||
@param outputstyle false: simulation, true: robot
|
||||
@param tool false: master, true: slave
|
||||
@param beamfl specifies an additional outputvalue wich
|
||||
@param beamfl specifies an additional outputvalue which
|
||||
determines the waiting-status of the tool
|
||||
movement
|
||||
\todo undocumented parameter c
|
||||
|
@ -256,16 +256,16 @@ private:
|
|||
/** @brief flag specifying moving-direction (clockwise vs. anticlockwise)
|
||||
*/
|
||||
bool m_dir;
|
||||
/** @brief vector in wich the lengths of the seperated curve-segments for
|
||||
/** @brief vector in which the lengths of the separated curve-segments for
|
||||
the master-tool are stored*/
|
||||
std::vector<std::vector<double> > m_length_ma;
|
||||
/** @brief vector in wich the lengths of the seperated curve-segments for
|
||||
/** @brief vector in which the lengths of the separated curve-segments for
|
||||
the slave-tool are stored*/
|
||||
std::vector<std::vector<double> > m_length_sl;
|
||||
/** @brief vector of acceleration-values regarding to the seperated curve
|
||||
/** @brief vector of acceleration-values regarding to the separated curve
|
||||
segments for the master-tool*/
|
||||
std::vector<std::vector<double> > m_accel_ma;
|
||||
/** @brief vector of acceleration-values regarding to the seperated curve
|
||||
/** @brief vector of acceleration-values regarding to the separated curve
|
||||
segments for the slave-tool*/
|
||||
std::vector<std::vector<double> > m_accel_sl;
|
||||
/** @brief Matrix of three velocity-values regarding to the curves and curve-segments for the master-tool*/
|
||||
|
@ -277,7 +277,7 @@ private:
|
|||
double m_vmax;
|
||||
/** @brief maximum allowable resulting acceleration of the tool*/
|
||||
double m_amax;
|
||||
/** @brief pathtolerance wich is set (in subject to m_vmax and m_amax)
|
||||
/** @brief pathtolerance which is set (in subject to m_vmax and m_amax)
|
||||
before and after a critical region*/
|
||||
double m_boundTol;
|
||||
/** @brief acceleration-parameter used in GetVelocity() and GetDistance()
|
||||
|
@ -323,7 +323,7 @@ private:
|
|||
std::vector<std::vector<double> > CompBounds(bool tool, std::vector<double> knots);
|
||||
/** @brief Generates output for the current tool-path*/
|
||||
bool CompPath(bool tool);
|
||||
/** @brief determines wich tool should wait (feature-based-stategy only)*/
|
||||
/** @brief determines which tool should wait (feature-based-stategy only)*/
|
||||
bool StartingTool();
|
||||
/** @brief vector containing start- and end-times for the master-curves*/
|
||||
std::vector<std::pair<float,float> > m_PathTimes_Master;
|
||||
|
|
|
@ -38,7 +38,7 @@ using namespace boost::numeric;
|
|||
|
||||
|
||||
|
||||
/*! \brief Numerical Intergration according to trapezoid rules
|
||||
/*! \brief Numerical Integration according to trapezoid rules
|
||||
|
||||
This routine assumes that the Intergral values are already corresponding with WithRespectTo
|
||||
i.e: Intergral[i] == Intergral(WithRespectTo[i]);
|
||||
|
@ -135,7 +135,7 @@ void Routines::CramerSolve(std::vector< std::vector<double> > &RHS1, std::vector
|
|||
|
||||
/*! \brief Calculate angle between two vectors
|
||||
|
||||
Dependancies: Vector3D definitions and routines
|
||||
Dependencies: Vector3D definitions and routines
|
||||
*/
|
||||
double Routines::CalcAngle(Base::Vector3f a,Base::Vector3f b,Base::Vector3f c)
|
||||
{
|
||||
|
|
|
@ -51,7 +51,7 @@ using namespace CompleteGui;
|
|||
qApp->translate("Workbench", "&Drafting");
|
||||
qApp->translate("Workbench", "Sketch based");
|
||||
qApp->translate("Workbench", "Primitives");
|
||||
qApp->translate("Workbench", "Object appearence");
|
||||
qApp->translate("Workbench", "Object appearance");
|
||||
qApp->translate("Workbench", "Wire Tools");
|
||||
// taken from TestGui.py
|
||||
qApp->translate("Test_Test", "Self-test...");
|
||||
|
@ -373,7 +373,7 @@ Gui::MenuItem* Workbench::setupMenuBar() const
|
|||
Drafting->setCommand("&Drafting");
|
||||
|
||||
Gui::MenuItem* DraftContext = new Gui::MenuItem();
|
||||
DraftContext->setCommand("Object appearence");
|
||||
DraftContext->setCommand("Object appearance");
|
||||
|
||||
*DraftContext << "Draft_ApplyStyle" << "Draft_ToggleDisplayMode";
|
||||
|
||||
|
|
|
@ -97,7 +97,7 @@ Standard_Integer FeatureImportStep::Execute(void)
|
|||
//aReader.PrintCheckTransfer (failsonly, IFSelect_ItemsByEntity);
|
||||
for ( Standard_Integer n = 1; n<= nbr; n++)
|
||||
{
|
||||
printf("STEP: Transfering Root %d\n",n);
|
||||
printf("STEP: Transferring Root %d\n",n);
|
||||
aReader.TransferRoot(n);
|
||||
// Collecting resulting entities
|
||||
Standard_Integer nbs = aReader.NbShapes();
|
||||
|
@ -107,7 +107,7 @@ Standard_Integer FeatureImportStep::Execute(void)
|
|||
} else {
|
||||
for (Standard_Integer i =1; i<=nbs; i++)
|
||||
{
|
||||
printf("STEP: Transfering Shape %d\n",n);
|
||||
printf("STEP: Transferring Shape %d\n",n);
|
||||
aShape=aReader.Shape(i);
|
||||
aHSequenceOfShape->Append(aShape);
|
||||
}
|
||||
|
|
|
@ -127,7 +127,7 @@ class SELECT(object):
|
|||
|
||||
def get_allowed_basic_types(self):
|
||||
''' if a select contains some subselect, goes down through the different
|
||||
sublayers untill there is no more '''
|
||||
sublayers until there is no more '''
|
||||
b = []
|
||||
_auth_types = self.get_allowed_types()
|
||||
for _auth_type in _auth_types:
|
||||
|
|
|
@ -130,7 +130,7 @@ class Part21Parser:
|
|||
line = fp.readline()
|
||||
if not line:
|
||||
break
|
||||
# there may be a multline definition. In this case, we read lines untill we found
|
||||
# there may be a multline definition. In this case, we read lines until we found
|
||||
# a ;
|
||||
while (line.find(';') == -1): #its a multiline
|
||||
line = line.replace("\n","").replace("\r","") + fp.readline()
|
||||
|
|
|
@ -27,7 +27,7 @@ Usage:
|
|||
Material [Options] card-file-name
|
||||
|
||||
Options:
|
||||
-c, --output-csv=file-name write a comma seperated grid with the material data
|
||||
-c, --output-csv=file-name write a comma separated grid with the material data
|
||||
|
||||
Exit:
|
||||
0 No Error or Warning found
|
||||
|
@ -39,7 +39,7 @@ Examples:
|
|||
|
||||
Material "StandardMaterial/Steel.FCMat"
|
||||
|
||||
Autor:
|
||||
Author:
|
||||
(c) 2013 Juergen Riegel
|
||||
mail@juergen-riegel.net
|
||||
Licence: LGPL
|
||||
|
@ -104,7 +104,7 @@ if __name__ == '__main__':
|
|||
print("writing file: " + a + "\n")
|
||||
OutPath = a
|
||||
|
||||
# runing through the files
|
||||
# running through the files
|
||||
FileName = args[0]
|
||||
|
||||
kv_map = importFCMat(FileName)
|
||||
|
|
|
@ -226,7 +226,7 @@ class MaterialEditor:
|
|||
|
||||
|
||||
def getDict(self):
|
||||
"returns a dictionnary from the contents of the editor"
|
||||
"returns a dictionary from the contents of the editor"
|
||||
d = {}
|
||||
for i1 in range(self.widget.Editor.topLevelItemCount()):
|
||||
w = self.widget.Editor.topLevelItem(i1)
|
||||
|
|
|
@ -370,7 +370,7 @@ Base::Vector3d Measurement::delta() const
|
|||
|
||||
if(measureType == Points) {
|
||||
if(numRefs == 2) {
|
||||
// Keep Seperate case for two points to reduce need for complex algorithm
|
||||
// Keep separate case for two points to reduce need for complex algorithm
|
||||
TopoDS_Shape shape1 = getShape(objects.at(0), subElements.at(0).c_str());
|
||||
TopoDS_Shape shape2 = getShape(objects.at(1), subElements.at(1).c_str());
|
||||
|
||||
|
|
|
@ -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:"));
|
||||
|
|
|
@ -97,12 +97,12 @@ void MeshAlgos::offsetSpecial2(MeshCore::MeshKernel* Mesh, float fSize)
|
|||
fliped.insert(it.Position());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// if there are no flipped triangles -> stop
|
||||
//int f =fliped.size();
|
||||
if(fliped.size() == 0)
|
||||
break;
|
||||
|
||||
|
||||
for(std::set<unsigned long>::iterator It= fliped.begin();It!=fliped.end();++It)
|
||||
alg.CollapseFacet(*It);
|
||||
fliped.clear();
|
||||
|
@ -191,7 +191,7 @@ MeshCore::MeshKernel* MeshAlgos::boolean(MeshCore::MeshKernel* pMesh1,
|
|||
if (!gts_surface_is_orientable (s1)) {
|
||||
gts_object_destroy (GTS_OBJECT (s1));
|
||||
gts_object_destroy (GTS_OBJECT (s2));
|
||||
throw "surface 1 is not an orientable manifold\n" ;
|
||||
throw "surface 1 is not an orientable manifold\n";
|
||||
}
|
||||
if (!gts_surface_is_orientable (s2)) {
|
||||
gts_object_destroy (GTS_OBJECT (s1));
|
||||
|
@ -221,7 +221,7 @@ MeshCore::MeshKernel* MeshAlgos::boolean(MeshCore::MeshKernel* pMesh1,
|
|||
gts_object_destroy (GTS_OBJECT (self_intersects));
|
||||
gts_object_destroy (GTS_OBJECT (s1));
|
||||
gts_object_destroy (GTS_OBJECT (s2));
|
||||
throw"surface is self-intersecting\n";
|
||||
throw "surface is self-intersecting\n";
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -240,14 +240,14 @@ MeshCore::MeshKernel* MeshAlgos::boolean(MeshCore::MeshKernel* pMesh1,
|
|||
gts_object_destroy (GTS_OBJECT (s1));
|
||||
gts_object_destroy (GTS_OBJECT (s2));
|
||||
gts_bb_tree_destroy (tree1, true);
|
||||
gts_bb_tree_destroy (tree2, true);
|
||||
gts_bb_tree_destroy (tree2, true);
|
||||
throw"the intersection of 1 and 2 is not a closed curve\n";
|
||||
}
|
||||
|
||||
s3 = gts_surface_new (gts_surface_class (),
|
||||
gts_face_class (),
|
||||
gts_edge_class (),
|
||||
gts_vertex_class ());
|
||||
gts_vertex_class ());
|
||||
if (Type==0) { // union
|
||||
gts_surface_inter_boolean (si, s3, GTS_1_OUT_2);
|
||||
gts_surface_inter_boolean (si, s3, GTS_2_OUT_1);
|
||||
|
@ -268,7 +268,7 @@ MeshCore::MeshKernel* MeshAlgos::boolean(MeshCore::MeshKernel* pMesh1,
|
|||
else if (Type==4) { // cut outer
|
||||
gts_surface_inter_boolean (si, s3, GTS_1_OUT_2);
|
||||
}
|
||||
|
||||
|
||||
// check that the resulting surface is not self-intersecting
|
||||
if (check_self_intersection) {
|
||||
GtsSurface * self_intersects;
|
||||
|
@ -284,7 +284,7 @@ MeshCore::MeshKernel* MeshAlgos::boolean(MeshCore::MeshKernel* pMesh1,
|
|||
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 "the resulting surface is self-intersecting\n";
|
||||
}
|
||||
}
|
||||
|
@ -305,8 +305,8 @@ MeshCore::MeshKernel* MeshAlgos::boolean(MeshCore::MeshKernel* pMesh1,
|
|||
|
||||
// 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);
|
||||
|
||||
#endif
|
||||
return pMesh1;
|
||||
}
|
||||
|
@ -315,7 +315,7 @@ MeshCore::MeshKernel* MeshAlgos::boolean(MeshCore::MeshKernel* pMesh1,
|
|||
#ifdef FC_USE_GTS
|
||||
|
||||
|
||||
/// 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);
|
||||
|
@ -363,7 +363,7 @@ GtsSurface* MeshAlgos::createGTSSurface(MeshCore::MeshKernel* 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;
|
||||
|
||||
|
@ -498,7 +498,7 @@ void MeshAlgos::LoftOnCurve(MeshCore::MeshKernel &ResultMesh, const TopoDS_Shape
|
|||
TopoDS_Vertex V1, V2;
|
||||
TopExp::Vertices(Edge, V1, V2);
|
||||
bool bBegin = false,bEnd = false;
|
||||
// geting the geometric curve and the interval
|
||||
// getting the geometric curve and the interval
|
||||
GeomLProp_CLProps prop(BRep_Tool::Curve(Edge,fBegin,fEnd),1,0.0000000001);
|
||||
int res = int((fEnd - fBegin)/MaxSize);
|
||||
// do at least 2 segments
|
||||
|
@ -509,7 +509,7 @@ void MeshAlgos::LoftOnCurve(MeshCore::MeshKernel &ResultMesh, const TopoDS_Shape
|
|||
std::vector<Base::Vector3f> prePoint(poly.size());
|
||||
std::vector<Base::Vector3f> actPoint(poly.size());
|
||||
|
||||
// checking if there is already a end to conect
|
||||
// checking if there is already a end to connect
|
||||
if(ConnectMap.find(V1) != ConnectMap.end() ){
|
||||
bBegin = true;
|
||||
prePoint = ConnectMap[V1];
|
||||
|
@ -532,7 +532,7 @@ void MeshAlgos::LoftOnCurve(MeshCore::MeshKernel &ResultMesh, const TopoDS_Shape
|
|||
(float)prop.Value().Z());
|
||||
Base::Vector3f Up (up);
|
||||
// normalize and calc the third vector of the plane coordinatesystem
|
||||
Tng.Normalize();
|
||||
Tng.Normalize();
|
||||
Up.Normalize();
|
||||
Base::Vector3f Third(Tng%Up);
|
||||
|
||||
|
@ -546,7 +546,7 @@ void MeshAlgos::LoftOnCurve(MeshCore::MeshKernel &ResultMesh, const TopoDS_Shape
|
|||
actPoint[l] = ((Third*It->x)+(Up*It->y)+(Tng*It->z)+Ptn);
|
||||
|
||||
if(i == res-1 && !bEnd)
|
||||
// remeber the last row to conect to a otger edge with the same vertex
|
||||
// remember the last row to connect to a otger edge with the same vertex
|
||||
ConnectMap[V2] = actPoint;
|
||||
|
||||
if(i==1 && bBegin)
|
||||
|
@ -554,16 +554,16 @@ void MeshAlgos::LoftOnCurve(MeshCore::MeshKernel &ResultMesh, const TopoDS_Shape
|
|||
prePoint = ConnectMap[V1];
|
||||
|
||||
if(i==0 && !bBegin)
|
||||
// remember the first row for conection to a edge with the same vertex
|
||||
// remember the first row for connection to a edge with the same vertex
|
||||
ConnectMap[V1] = actPoint;
|
||||
|
||||
if(i ) // not the first row or somthing to conect to
|
||||
if(i ) // not the first row or something to connect to
|
||||
{
|
||||
for(l=0;l<actPoint.size();l++)
|
||||
{
|
||||
if(l) // not first point in row
|
||||
{
|
||||
if(i == res-1 && bEnd) // if last row and a end to conect
|
||||
if(i == res-1 && bEnd) // if last row and a end to connect
|
||||
actPoint = ConnectMap[V2];
|
||||
|
||||
Base::Vector3f p1 = prePoint[l-1],
|
||||
|
|
Loading…
Reference in New Issue
Block a user