20 template <
bool IsPrimary,
typename BaseObjectType>
23 template <
bool IsPrimary>
41 template <
bool IsPrimary>
59 template <
bool IsPrimary>
71 template <
bool IsPrimary,
typename BaseObjectType>
82 if (
auto value = type.
tryGet<VisualizeMaskType>(); value && *value == VisualizeMaskType::ClippedByPlane )
96template <
bool IsPrimary,
typename BaseObjectType>
104 return target_->getFrontColorsForAllViewports( selected );
109 return target_->getBackColorsForAllViewports();
120template <
typename BaseObjectType>
128 if (
auto p = this->parent() )
131 const_cast<WrappedModelSubobject &
>( *this ).setVisibilityMask( f->getVisualizePropertyMask( FeatureVisualizePropertyType::Subfeatures ) );
134 return this->visibilityMask_;
147template <
bool IsPrimary,
typename ObjectType,
typename RenderObjectType>
157 if constexpr ( !IsPrimary )
159 if ( !this->
subobject.target_->getVisualizeProperty( FeatureVisualizePropertyType::Subfeatures, viewportId ) )
169 return Base::render( params );
176 return Base::renderPicker( params, geomId );
182template <
bool IsPrimary>
193template <
bool IsPrimary>
204template <
bool IsPrimary>
251 RenderDefaultUiObject,
253 RenderFeatureMeshComponent<true>,
255 RenderFeatureLinesComponent<false>, RenderFeaturePointsComponent<false>,
257 RenderPlaneNormalComponent,
258 RenderResetDirtyComponent
Definition MRVisualObject.h:53
std::optional< T > tryGet() const
Definition MRVisualObject.h:62
An interface class which allows feature objects to share setters and getters on their main properties...
Definition MRFeatureObject.h:96
Definition MRRenderDimensions.h:139
Definition MRRenderDimensions.h:175
Definition MRRenderDimensions.h:105
void renderUi(const UiRenderParams ¶ms) override
RenderCircleFeatureObject(const VisualObject &object)
RenderConeFeatureObject(const VisualObject &object)
void renderUi(const UiRenderParams ¶ms) override
void renderUi(const UiRenderParams ¶ms) override
RenderCylinderFeatureObject(const VisualObject &object)
Definition MRRenderFeatureObjects.h:149
void renderPicker(const ModelBaseRenderParams ¶ms, unsigned geomId) override
Definition MRRenderFeatureObjects.h:172
bool render(const ModelRenderParams ¶ms) override
Definition MRRenderFeatureObjects.h:165
bool shouldRender(ViewportId viewportId) const
Definition MRRenderFeatureObjects.h:154
Definition MRRenderFeatureObjects.h:195
auto & getLines()
Definition MRRenderFeatureObjects.h:199
Definition MRRenderFeatureObjects.h:206
auto & getMesh()
Definition MRRenderFeatureObjects.h:210
Definition MRRenderFeatureObjects.h:184
auto & getPoints()
Definition MRRenderFeatureObjects.h:188
ImGuiMeasurementIndicators::Text getObjectNameText(const VisualObject &object, ViewportId viewportId) const override
RenderLineFeatureObject(const VisualObject &object)
RenderPlaneFeatureObject(const VisualObject &object)
ImGuiMeasurementIndicators::Text getObjectNameText(const VisualObject &object, ViewportId viewportId) const override
void renderPicker(const ModelBaseRenderParams ¶ms, unsigned geomId) override
RenderPlaneNormalComponent(const VisualObject &object)
bool render(const ModelRenderParams ¶ms) override
ImGuiMeasurementIndicators::Text getObjectNameText(const VisualObject &object, ViewportId viewportId) const override
RenderPointFeatureObject(const VisualObject &object)
void renderUi(const UiRenderParams ¶ms) override
RenderSphereFeatureObject(const VisualObject &object)
const ViewportProperty< Color > & getFrontColorsForAllViewports(bool selected=true) const override
Definition MRRenderFeatureObjects.h:137
ViewportMask visibilityMask() const override
Definition MRRenderFeatureObjects.h:126
Definition MRRenderFeatureObjects.h:98
const ViewportProperty< uint8_t > & getGlobalAlphaForAllViewports() const override
Definition MRRenderFeatureObjects.h:112
const ViewportProperty< Color > & getBackColorsForAllViewports() const override
Definition MRRenderFeatureObjects.h:107
const ViewportProperty< Color > & getFrontColorsForAllViewports(bool selected=true) const override
Definition MRRenderFeatureObjects.h:102
Definition MRRenderFeatureObjects.h:73
bool isSelected() const override
Definition MRRenderFeatureObjects.h:75
const ViewportMask & getVisualizePropertyMask(AnyVisualizeMaskEnum type) const override
Definition MRRenderFeatureObjects.h:80
const ViewportProperty< uint8_t > & getGlobalAlphaForAllViewports() const override
returns global transparency alpha of object in all viewports
Definition MRRenderFeatureObjects.h:51
float getLineWidth() const override
Definition MRRenderFeatureObjects.h:45
const ViewportProperty< uint8_t > & getGlobalAlphaForAllViewports() const override
returns global transparency alpha of object in all viewports
Definition MRRenderFeatureObjects.h:63
const ViewportProperty< uint8_t > & getGlobalAlphaForAllViewports() const override
returns global transparency alpha of object in all viewports
Definition MRRenderFeatureObjects.h:33
float getPointSize() const override
returns size of points on screen in pixels
Definition MRRenderFeatureObjects.h:27
See WrappedModelSubobject below. This class holds optional components for it that depend on the templ...
Definition MRRenderFeatureObjects.h:21
The first template argument of Wrapper can inherit from this to know the object we're wrapping.
Definition MRRenderWrapObject.h:28
const ObjectType * target_
Definition MRRenderWrapObject.h:32
Definition MRRenderWrapObject.h:39
Definition MRViewportId.h:16
stores mask of viewport unique identifiers
Definition MRViewportId.h:42
Definition MRViewportProperty.h:17
Visual Object.
Definition MRVisualObject.h:115
virtual const ViewportProperty< uint8_t > & getGlobalAlphaForAllViewports() const
returns global transparency alpha of object in all viewports
virtual const ViewportProperty< Color > & getDecorationsColorForAllViewports(bool selected) const
virtual float getPointSize() const
returns size of points on screen in pixels
Definition MRObjectPointsHolder.h:99
RenderObjectCombinator(const VisualObject &object)
Definition MRIRenderObject.h:172
virtual float getLineWidth() const
Definition MRObjectLinesHolder.h:62
ViewportId viewportId
Definition MRIRenderObject.h:39
Definition MRRenderFeatureObjects.h:18
Definition MRRenderFeatureObjects.h:15
Represents an arbitrary block of text, possibly with icons, colors, etc.
Definition MRImGuiMeasurementIndicators.h:133
Definition MRIRenderObject.h:46
Mesh rendering parameters for primary rendering (as opposed to the picker).
Definition MRIRenderObject.h:54
ObjectType subobject
Definition MRRenderWrapObject.h:15
Definition MRIRenderObject.h:110