cee::ug::HitItem
-
class
HitItem
Small class containing the data for a hit of an intersection between a ray and a part in an UnstructGridModel.
int winCoordX = 0, winCoordY = 0; cee::Ray ray = m_viewer->view()->camera().rayFromWindowCoordinates(winCoordX, winCoordY); cee::ug::HitItem hitItem; bool hitSomething = ugModel->rayIntersect(ray, &hitItem);
See also
Ray and UnstructGridModel
Public Types
Public Functions
-
HitItem
() Constructs an empty hit item.
-
ItemType
itemType
() const Returns the item type.
Available item types are PART, CUTTING_PLANE, ISOSURFACE and ISOVOLUME.
-
void
setItemType
(ItemType itemType) Sets the item type.
Available item types are PART, CUTTING_PLANE, ISOSURFACE and ISOVOLUME.
-
int
itemId
() const Returns the id/index of the hit item.
If the hit item is a part, the part id is returned. If the hit item was a cutting plane, isosurface or isovolume, -1 is returned. Use itemIndex() instead. Check itemType() for which item type that was hit.
-
void
setItemId
(int itemId) Sets the part id for parts or index of item for cutting planes, isosurfaces and isovolumes.
-
size_t
itemIndex
() const Returns the index of the item.
-
void
setItemIndex
(size_t itemIndex) Sets the item index. This is the (local) index of the part, cutting plane, isosurface or isovolume.
-
int
stateId
() const Returns the state id of the hit item.
-
void
setStateId
(int stateId) Sets the state id.
-
size_t
frameIndex
() const Returns the frame index of the hit item.
-
void
setFrameIndex
(size_t frameIndex) Sets the geometry index.
-
size_t
geometryIndex
() const Returns the global geometry index, used to e.g. get the geometry from a DataState.
-
void
setGeometryIndex
(size_t geometryIndex) Sets the geometry index.
-
int
partId
() const Returns the part id, used to e.g.
get the part from a DataGeometry
If itemType is PART, this will be the same as itemId(). If itemType is CUTTING_PLANE, ISOSURFACE or ISOVOLUME, this is the id of the DataPart in which the intersected element is located in.
-
void
setPartId
(int partId) Sets the id of the DataPart that was hit (or has the element hit in a cut/iso/particle trace)
-
size_t
elementIndex
() const Returns the zero based index of the selected element.
The index refers to the DataElements of the DataPart with the id specified in partId().
-
void
setElementIndex
(size_t elementIndex) Sets the zero based index of the hit element.
-
size_t
nodeIndex
() const Returns the zero based index of the closest node to the hit intersection point.
-
void
setNodeIndex
(size_t nodeIndex) Sets the zero based node index of the closest node.
-
size_t
elementLocalNodeIndex
() const Returns the local (within the element) node index that was hit.
See Element for more info.
-
void
setElementLocalNodeIndex
(size_t localNodeIndex) Sets the local (within the element) node index that was hit.
See Element for more info.
-
size_t
elementLocalSurfaceIndex
() const Returns the local (within the element) surface index that was hit.
See Element for more info.
-
void
setElementLocalSurfaceIndex
(size_t surfaceIndex) Sets the local (within the element) surface index that was hit.
See Element for more info.
-
size_t
edgeNodeStartIndex
() const Returns the zero based node index of first node of the closest edge.
-
void
setEdgeNodeStartIndex
(size_t nodeIndex) Sets the zero based node index of the closest node.
-
size_t
edgeNodeEndIndex
() const Returns the zero based node index of last node of the closest edge.
-
void
setEdgeNodeEndIndex
(size_t nodeIndex) Sets the zero based node index of the closest node.
-
void
setIntersectionPointNormal
(const Vec3d &intersectionPointNormal) Sets the intersection point’s normal.
-
size_t
triangleIndex
() const Sets the triangle index of the hit item.
The triangle index is the index in the display model of the object.
If this is a normal part (type == PART), this index corresponds to the output from the VisualizationPartQuery::visibleTriangles() method.
For cutting planes, isosurfaces and isovolumes, this index corresponds to the triangles in CuttingPlaneData, IsosurfaceData or IsovolumeData.
-
void
setTriangleIndex
(size_t triangleIndex) Sets the intersection point’s normal.
-
double
distanceAlongRay
() const Returns the distance along the ray.
-
void
setDistanceAlongRay
(double distance) Sets the distance along the ray.
-