88 TriMesh::FaceHandle fh =
mesh()->face_handle(_targetIdx);
106 hitpointNew = _start + t * _dir;
114 TriMesh::EdgeHandle eh =
mesh()->edge_handle(_targetIdx);
117 TriMesh::HalfedgeHandle heh =
mesh()->halfedge_handle(eh,0);
virtual ~TriMeshObject()
destructor
Type for a MeshObject containing a triangle mesh.
TriMeshObject(const TriMeshObject &_object)
copy constructor
Vec::value_type distPointLineSquared(const Vec &_p, const Vec &_v0, const Vec &_v1, Vec *_min_v)
squared distance from point _p to line segment (_v0,_v1)
TriMesh * mesh()
return a pointer to the mesh
PickTarget
What target to use for picking.
Kernel::FaceVertexIter FaceVertexIter
Circulator.
bool triangleIntersection(const Vec &_o, const Vec &_dir, const Vec &_v0, const Vec &_v1, const Vec &_v2, typename Vec::value_type &_t, typename Vec::value_type &_u, typename Vec::value_type &_v)
Intersect a ray and a triangle.
Kernel::VertexHandle VertexHandle
Handle for referencing the corresponding item.
picks verices (may not be implemented for all nodes)
picks edges (may not be implemented for all nodes)
ACG::Vec3d refinePick(ACG::SceneGraph::PickTarget _pickTarget, const ACG::Vec3d _hitPoint, const ACG::Vec3d _start, const ACG::Vec3d _dir, const unsigned int _targetIdx)
Refine picking on triangle meshes.
Kernel::Scalar Scalar
Scalar type.
picks faces (should be implemented for all nodes)