nodes->kdiff0.resize(nbNodes);
nodes->primitives.resize(nbNodes);
nodes->weakDirections.resize(3 * nbNodes);
+ nodes->mainDirections.resize(3 * nbNodes);
for (mcIdType nodeId = 0; nodeId < nbNodes; nodeId++)
computeCurvatures(nodeId, tol);
}
nodes->k2[nodeId] = k2;
nodes->kdiff0[nodeId] = kdiff0;
for (size_t i = 0; i < 3; ++i)
+ {
nodes->weakDirections[3 * nodeId + i] = weakDirection[i];
+ nodes->mainDirections[3 * nodeId + i] = mainDirection[i];
+ }
nodes->primitives[nodeId] = primitive;
}
return weakDirections;
}
+const std::vector<double> &Nodes::getMainDirections() const
+{
+ return mainDirections;
+}
+
const std::vector<double> &Nodes::getK1() const
{
return k1;
weakDirections[3 * nodeId + 2]};
}
+std::array<double, 3> Nodes::getMainDirection(mcIdType nodeId) const
+{
+ return {mainDirections[3 * nodeId],
+ mainDirections[3 * nodeId + 1],
+ mainDirections[3 * nodeId + 2]};
+}
+
std::array<double, 3> Nodes::getCoordinates(mcIdType nodeId) const
{
std::array<double, 3> nodeCoords;
mcIdType getNbNodes() const;
const std::vector<double> &getNormals() const;
const std::vector<double> &getWeakDirections() const;
+ const std::vector<double> &getMainDirections() const;
const std::vector<double> &getK1() const;
std::array<double, 3> getNormal(mcIdType nodeId) const;
const std::vector<mcIdType> getNeighbors(mcIdType nodeId) const;
PrimitiveType getPrimitiveType(mcIdType nodeId) const;
std::array<double, 3> getWeakDirection(mcIdType nodeId) const;
+ std::array<double, 3> getMainDirection(mcIdType nodeId) const;
std::array<double, 3> getCoordinates(mcIdType nodeId) const;
private:
std::vector<double> k2;
std::vector<double> kdiff0;
std::vector<double> weakDirections;
+ std::vector<double> mainDirections;
std::vector<PrimitiveType> primitives;
};
};