Skip to content

Class AIAC::CircularSawCutBladeThicknessVisualizer

ClassList > AIAC > CircularSawCutBladeThicknessVisualizer

This is an inherited class to show the thickness of the blade on circular saws.

  • #include <CutCircularSawFeedback.h>

Inherits the following classes: AIAC::CutBladeThicknessVisualizer

Public Attributes inherited from AIAC::CutBladeThicknessVisualizer

See AIAC::CutBladeThicknessVisualizer

Type Name
bool IsSegmenDetectToolPlaneVisible = = false
<

Public Functions

Type Name
CircularSawCutBladeThicknessVisualizer () = default
virtual bool IntersectBladeWithNeighbours (TimberInfo::Cut * cut, TimberInfo::Cut::Face & face, bool isTowardsCamera, bool isDetectToolPlane, std::shared_ptr< GOLine > & lineIntersection) override
This function intersect the plane of the blade with the two(or one) neighbour faces.
virtual void UpdateToolheadsData () override
Update the current toolhead's data: normalStart, normEnd and center, as well the thickness. Since there could be multiple cutting toolheads (sawblade or chainsaw), we need to get the correct toolhead's type.

Public Functions inherited from AIAC::CutBladeThicknessVisualizer

See AIAC::CutBladeThicknessVisualizer

Type Name
CutBladeThicknessVisualizer ()

Public Functions inherited from AIAC::FeedbackVisualizer

See AIAC::FeedbackVisualizer

Type Name
virtual void Activate ()
virtual void Deactivate ()
FeedbackVisualizer () = default
~FeedbackVisualizer () = default

Public Static Functions inherited from AIAC::FeedbackVisualizer

See AIAC::FeedbackVisualizer

Type Name
std::string toString (double val)
Convert a double value to the real world scale in mm and return a string with 2 digits. If the value in mm is > 99, return "99".

Protected Attributes inherited from AIAC::CutBladeThicknessVisualizer

See AIAC::CutBladeThicknessVisualizer

Type Name
float m_BladeOverhangScaled
the reference to the current toolhead's normal start
float m_BladeTotalThicknessScaled
the overhang distance of the blade's teeth from one side only
glm::vec3 m_DisplacedCenterAwayFromCamera
glm::vec3 m_DisplacedCenterTowardsCamera
the displaced center of the face away from the camera
std::shared_ptr< GOLine > m_LongestIntersectSegmenDetectToolPlane
<
std::shared_ptr< GOLine > m_LongestIntersectSegmentAwayFromCameraA
the thickness A of the blade away from the camera on second neighbour side
std::shared_ptr< GOLine > m_LongestIntersectSegmentAwayFromCameraB
the scaled thickness of the blade towards the camera
std::shared_ptr< GOLine > m_LongestIntersectSegmentTowardsCameraA
the thickness of the blade towards the camera on second neighbour side
std::shared_ptr< GOLine > m_LongestIntersectSegmentTowardsCameraB
the thickness A of the blade away from the camera on first neighbour side
glm::vec3 m_NormalOppositeUnitized
the displaced center of the face towards the camera
glm::vec3 m_NormalUnitized
the opposite unitize value of the normal
glm::vec3 m_ToolheadRefCenter
the unitize value of the normal
glm::vec3 m_ToolheadRefNormEnd
the reference to the current toolhead's center
glm::vec3 m_ToolheadRefNormStart
the reference to the current toolhead's normal end

Protected Attributes inherited from AIAC::FeedbackVisualizer

See AIAC::FeedbackVisualizer

Type Name
std::vector< std::shared_ptr< GOPrimitive > > m_AllPrimitives

Protected Functions inherited from AIAC::CutBladeThicknessVisualizer

See AIAC::CutBladeThicknessVisualizer

Type Name
virtual bool IntersectBladeWithNeighbours (AIAC::TimberInfo::Cut * cut, AIAC::TimberInfo::Cut::Face & face, bool isTowardsCamera, bool isDetectToolPlane, std::shared_ptr< GOLine > & lineIntersection) = 0
This function intersect the plane of the blade with the two(or one) neighbour faces.
virtual void UpdateToolheadsData () = 0
Update the current toolhead's data: normalStart, normEnd and center, as well the thickness. Since there could be multiple cutting toolheads (sawblade or chainsaw), we need to get the correct toolhead's type.

Public Functions Documentation

function CircularSawCutBladeThicknessVisualizer

AIAC::CircularSawCutBladeThicknessVisualizer::CircularSawCutBladeThicknessVisualizer () = default

function IntersectBladeWithNeighbours

This function intersect the plane of the blade with the two(or one) neighbour faces.

virtual bool AIAC::CircularSawCutBladeThicknessVisualizer::IntersectBladeWithNeighbours (
    TimberInfo::Cut * cut,
    TimberInfo::Cut::Face & face,
    bool isTowardsCamera,
    bool isDetectToolPlane,
    std::shared_ptr< GOLine > & lineIntersection
) override

Parameters:

  • cut the TimberInfo::Cut object
  • face the face belonging to the cut to intersect with
  • isTowardsCamera the boolean to indicate if we intersect the blade's edge close to the camera
  • isDetectToolPlane the intersection is for the reference toolhead's plane
  • lineIntersection the reference to the line intersection

Returns:

bool true if the intersection is successful, false otherwise

Implements AIAC::CutBladeThicknessVisualizer::IntersectBladeWithNeighbours


function UpdateToolheadsData

Update the current toolhead's data: normalStart, normEnd and center, as well the thickness. Since there could be multiple cutting toolheads (sawblade or chainsaw), we need to get the correct toolhead's type.

virtual void AIAC::CircularSawCutBladeThicknessVisualizer::UpdateToolheadsData () override

Implements AIAC::CutBladeThicknessVisualizer::UpdateToolheadsData


Friends Documentation

friend CutCircularSawFeedback

class AIAC::CircularSawCutBladeThicknessVisualizer::CutCircularSawFeedback (
    CutCircularSawFeedback
) 


The documentation for this class was generated from the following file src/AIAC/Feedback/CutCircularSawFeedback.h