Interface Marker
-
- All Known Implementing Classes:
BasicMarker
,ExtrudedPolygonEditor.ControlPointMarker
,MarkersOrder.AppFrame.TimedMarker
,RigidShapeEditor.ControlPointMarker
,ShapeEditor.ControlPointMarker
,SurfaceImageEditor.ControlPointMarker
public interface Marker
A visual marker with position and orientation. The marker can be oriented in 3D space with a heading, pitch, and roll. However, not all implementations apply the orientation to the rendered marker. An implementation may apply any or none or the orientation parameters. For example, an implementation that renders the marker as a cone may ignore roll, because the cone is symmetric along its axis.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description MarkerAttributes
getAttributes()
Angle
getHeading()
Indicates heading of this marker.Angle
getPitch()
Indicates pitch this marker.Position
getPosition()
Angle
getRoll()
Indicates the roll of this marker.void
render(DrawContext dc, Vec4 point, double radius)
void
render(DrawContext dc, Vec4 point, double radius, boolean isRelative)
void
setAttributes(MarkerAttributes attributes)
void
setHeading(Angle heading)
Specifies the heading of this marker.void
setPitch(Angle pitch)
Specifies the pitch of this marker.void
setPosition(Position position)
void
setRoll(Angle roll)
Specifies the roll of this marker.
-
-
-
Method Detail
-
render
void render(DrawContext dc, Vec4 point, double radius, boolean isRelative)
-
render
void render(DrawContext dc, Vec4 point, double radius)
-
getPosition
Position getPosition()
-
setPosition
void setPosition(Position position)
-
getAttributes
MarkerAttributes getAttributes()
-
setAttributes
void setAttributes(MarkerAttributes attributes)
-
getHeading
Angle getHeading()
Indicates heading of this marker. Not all implementations support heading. If the implementation does not support heading, the heading will be ignored.- Returns:
- The marker heading in degrees clockwise from North. May be null, in which case no heading is applied.
-
setHeading
void setHeading(Angle heading)
Specifies the heading of this marker.- Parameters:
heading
- the marker heading in degrees clockwise from North. May be null, in which case no heading is applied.
-
getPitch
Angle getPitch()
Indicates pitch this marker. Not all implementations support pitch. If the implementation does not support pitch, the pitch will be ignored.- Returns:
- The marker pitch in degrees from a surface normal. May be null, in which case no heading is applied.
-
setPitch
void setPitch(Angle pitch)
Specifies the pitch of this marker. Not all implementations support pitch. If the implementation does not support pitch, the pitch will be ignored.- Parameters:
pitch
- the marker pitch in degrees from a surface normal. Positive values result in a rotation toward the marker heading, or toward North if there is no heading. May be null, in which case no pitch is applied.
-
getRoll
Angle getRoll()
Indicates the roll of this marker. Not all implementations support roll. If the implementation does not support roll, the roll will be ignored.- Returns:
- The marker roll in degrees clockwise. May be null, in which case no roll is applied.
-
setRoll
void setRoll(Angle roll)
Specifies the roll of this marker. Not all implementations support roll. If the implementation does not support roll, the roll will be ignored.- Parameters:
roll
- the marker roll in degrees clockwise. May be null, in which case no roll is applied.
-
-