return true;
}
+// =======================================================================
+// function : GetVertex
+// purpose :
+// =======================================================================
+std::vector<Graphic3d_Vec3> Select3D_SensitivePrimitiveArray::GetVertex (const Standard_Integer theIndex) const
+{
+ std::vector<Graphic3d_Vec3> aVertices;
+ aVertices.reserve(3);
+ Graphic3d_Vec3i aTriNodes;
+ const Standard_Integer anIndexOffset = theIndex * 3;
+ getTriIndices(myIndices, anIndexOffset, aTriNodes);
+ aVertices.push_back (getPosVec3(aTriNodes[0]));
+ aVertices.push_back (getPosVec3(aTriNodes[1]));
+ aVertices.push_back (getPosVec3(aTriNodes[2]));
+ return aVertices;
+}
+
// =======================================================================
// function : InitPoints
// purpose :
//! Return the second node of last topmost detected edge or -1 if undefined (axis picking).
Standard_Integer LastDetectedEdgeNode2() const { return myDetectedEdgeNode2; }
+ //! Return vertex by index.
+ Standard_EXPORT std::vector<Graphic3d_Vec3> GetVertex (const Standard_Integer theIndex) const;
+
//! Dumps the content of me into the stream
Standard_EXPORT virtual void DumpJson (Standard_OStream& theOStream, Standard_Integer theDepth = -1) const Standard_OVERRIDE;