Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

There are different possibilities and sceneries for the symbols:

  • 2D bitmap.

The most simple case is to draw a 2D bitmap

Can see an example in our cmas2d_customlib example problemtype.

<gid>/problemtypes/examples/cmas2d_customlib.gid

The condition named Point_Weight declares inside the <condition> xml node a <symbol> Tcl proc, to draw the condition as a simple raster image file.

Code Block
<condition n="Point_Weight" pn="Point Weight" ov="point" ovm="node" icon="darkorange-weight-18" groups_icon="yelowish-group" help="Concentrated mass">
    <value n="Weight" pn="Weight" v="0.0" unit_magnitude="M" units="kg" help="Specify the weight that you want to apply"/>  
    <symbol proc="gid_groups_conds::draw_symbol_image weight-18.png" orientation="global"/>
    <!-- or a more customized example implementing our own procecedure <symbol proc='Cmas2d::DrawSymbolWeigth' orientation='global'/> -->
  </condition>

The gid_groups_conds::draw_symbol_image predefined library proc require the image file name (common image formats are allowed)

the orientation=”global” doesn’t matter in this case, because the 2D image is always drawn on the 3D space on to the screen plane perpendicular to the user view.

In this simple case the picture doesn’t use any value of the condition, all conditions of this name will be represented with the same bitmap.

  • Procedural drawing

It is also possible to draw 3D symbols using OpenGL commands to draw triangles, lines, etc.

...