5 #include "IAnchoredLabel.h"
8 #include "ShapedText.h"
9 #include "IconDefinition.h"
11 #include "VectorMath.h"
26 const dv3& ecefAnchorPosition,
27 const v3& localAnchorOffset,
28 float constraintRadiusEcef,
31 const std::string& entityName,
37 virtual IdType GetId()
const;
39 virtual const std::string& GetEntityName()
const;
43 virtual void GetShapedGlyphs(std::vector<Text::ShapedGlyph>& out_shapedGlyphs)
const;
47 virtual dv3 GetEcefAnchorPosition()
const;
49 virtual v3 GetAnchorOffset()
const;
51 virtual m44 CalcFeatureAlignedAnchorBasisEcef(
float environmentFlatteningScale)
const;
55 virtual float GetConstraintRadiusEcef()
const;
57 virtual bool CanCacheAnchorOffset()
const;
59 virtual int GetSubPriority()
const;
61 virtual void SetSubPriority(
int subPriority);
63 virtual void SetEcefAnchorPosition(
const dv3& ecefAnchorPosition);
65 virtual void SetTransform(
const m44& transform);
67 virtual void SetLabelText(
const std::string& labelTextUtf8);
69 virtual void SetIconKey(
const std::string& iconKey);
71 virtual void SetLocalAnchorOffset(
const v3& localAnchorOffset);
76 void UpdateTransformedAnchorOffset();
78 const IdType m_anchoredLabelId;
80 const std::string m_entityName;
81 dv3 m_ecefAnchorPosition;
82 v3 m_localAnchorOffset;
83 v3 m_transformedAnchorOffset;
84 const float m_constraintRadiusEcef;