SimObject draws an arrow, and adds optional text.
CBillboardArrow implements this. The arrow can have one or two heads in each direction.
- Todo:
- Add details
- Author
- Isak Swahn
- Warning
- This simObject does not work as expected.
Example configuration excerpt
<Lib
LibName = "fhsim_base"
SimObject = "Visual/BillboardArrow"
Name = "A"
TextSize = "1.0"
TextLocation = "1.0"
Prefix = "a"
Suffix = "b"
Precision = "1"
Scaling = "1.0"
Radius = "1.0"
RadiusFudge = "1.0"
NumFaces = "10"
MaterialName = "indianred2"
Type = "Vector"
TextVisible = "true"
/>
Input Ports
Name | Width | Description |
Pos | 3 | Position of the billboard. |
Vector | 3 | The arrow in terms of vector components. |
Visible | 1 | Sets visibility. Visible if larger than 0.5, otherwise hidden. |
Output Ports
This SimObject does not contain any outputs.
Configuration parameters
Name | Width | Description |
TextSize | 1 | Size of the billboard text (default: 1.0). |
TextLocation | 1 | Sets the posision of the text on the billboard (default: 1.0). |
Prefix | 1 | Text prefix (default: [empty string]). |
Suffix | 1 | Suffix of the string (default: [empty string]). |
Precision | 1 | Precision of the displayed numbers (default: 1). |
Scaling | 1 | Scaling of the text (default: 1.0). |
Radius | 1 | Radius of the arrow (default: 1.0). |
NumFaces | 1 | Number of visual faces of the arrow. The larger value, the smoother arrow surface (default: 10). |
MaterialName | 1 | Name of the billboard material (default: indianred2). |
Type | 1 | Type of arrow (default: Vector). Vector draws an arrow with one arrow. Moment draws an arrow with double arrow head. Bidirectional draws an arrow with arrowhead in both ends. |
TextVisible | 1 | Whether or not the text should be visible (default: true). |
Initial conditions
This SimObject does not contain any initial conditions.
Full example file
<Contents>
<OBJECTS>
<Lib
LibName = "fhsim_base"
SimObject = "Camera/Controller2"
Name = "CAM"
NumInput = "4"
Time = "0,1,2,3"
UseDegrees = "1"
Interpolate ="1"
/>
<Lib
LibName = "base"
SimObject = "Body/Mass"
Name = "M1"
Scale = "1"
Mass = "1"
Material = "Simple/Red"
/>
<Lib
LibName = "base"
SimObject = "Body/Mass"
Name = "M2"
Scale = "1"
Mass = "1"
Material = "Simple/Green"
/>
<Lib
LibName = "base"
SimObject = "Body/Mass"
Name = "M3"
Scale = "1"
Mass = "1"
/>
<Lib
LibName = "base"
SimObject = "Body/Mass"
Name = "M4"
Scale = "1"
Mass = "1"
Material = "Simple/Black"
/>
<Lib
LibName = "fhsim_base"
SimObject = "Camera/Shot"
Name = "camshot"
Filename = "shot.png"
Start = "0"
Video = "1"
Stop = "5"
FrameRateControl = "FPS"
FrameRateValue = "30"
Refinement = "1"
Path = ""
/>
<Lib
LibName = "base"
SimObject = "DefaultEnvironment"
Name = "Env"
Seadepth = "500"
Density = "1000"
CurrentVelocity = "0,0,0"
/>
</OBJECTS>
<INTERCONNECTIONS>
<Connection
CAM.Position1 = "-10,0,0"
CAM.Position2 = "0,-10,0"
CAM.Position3 = "10,0,0"
CAM.Position4 = "0,10,0"
CAM.Pitch1 = "0"
CAM.Pitch2 = "0"
CAM.Pitch3 = "0"
CAM.Pitch4 = "0"
CAM.Yaw1 = "0"
CAM.Yaw2 = "90"
CAM.Yaw3 = "180"
CAM.Yaw4 = "270"
M1.Force = "0,0,0"
M2.Force = "0,0,0"
M3.Force = "0,0,0"
M4.Force = "0,0,0"
/>
</INTERCONNECTIONS>
<INITIALIZATION>
<InitialCondition
M1.Pos = "0,0,0"
M2.Pos = "10,-20,0"
M3.Pos = "20,-10,0"
M4.Pos = "-10,20,0"
M1.Vel = "0,0,0"
M2.Vel = "0,0,0"
M3.Vel = "0,0,0"
M4.Vel = "0,0,0"
/>
</INITIALIZATION>
<INTEGRATION>
<Engine
IntegratorMethod = "2"
NumCores = "1"
TOutput = "0,5"
LogStates = "1"
stepsize = "0"
HMax = "0.002"
HMin = "0.00000001"
AbsTol = "1e-3"
RelTol = "1e-3"
UseRSSNormInsteadOfInfNorm = "0"
FileOutput = "objects:all"
/>
</INTEGRATION>
</Contents>
This SimObject is referred to as Visual/BillboardArrow