SoRenderSurfaceIntersection

InventorModule
author Florian Link
package MeVisLab/Standard
dll SoRenderers
definition SoRenderers.def

Purpose

The SoRenderSurfaceIntersection allows to render the intersection of 3D triangle meshes with a given world plane. The intersection is rendered using anti-aliased lines. The module requires OpenGL 2.0 and geometry shaders.

Note: Only triangle meshes are supported, that means points, lines, quads and polygons are not supported. If you are using a WEM rendering, make sure that it consists of triangles only. You can use WEMModify to triangulate any WEM mesh. On NVidia hardware quads seem to work as well, but quads definitely do not work on ATI graphics cards. Make sure to convert quads to triangles when using them with this module to get working cross platform results.

Example usage:

../../../Modules/Inventor/SoRenderers/mhelp/Images/SoRenderSurfaceIntersection.png

Usage

The module can be used to draw the intersections both in 3D or onto a SoView2D using SoView2DScene. In the case of the SoView2DScene, the module automatically uses the current SoView2D slice as intersection plane, if Use Slab Rendering Plane is enabled.

Tips

Make sure to enable double sided rendering (e.g. in the SoWEMRenderer), or to add a SoShapeHint module to force double sided rendering, otherwise back faces are not handled correctly.

Input Fields

child

name: child, type: SoNode

The Inventor scene that should be intersected. Make sure that the scene only contains triangle meshes!

Output Fields

self

name: self, type: SoNode

Parameter Fields

Field Index

Albedo Mix: Float Line Width: Float
Alpha: Float pickCulling: Enum
boundingBoxCaching: Enum renderCaching: Enum
Color: Color renderCulling: Enum
Fill Inside: Bool Use Slab Rendering Plane: Bool
Inside Albedo Mix: Float World Plane: Plane
Inside Alpha: Float  
Inside Color: Color  

Visible Fields

Color

name: color, type: Color, default: 1 1 1

The color of the intersection.

Alpha

name: alpha, type: Float, default: 1, minimum: 0, maximum: 1

The alpha blending value of the intersection.

Line Width

name: lineWidth, type: Float, default: 2, minimum: 0.1, maximum: 10

The line width.

Use Slab Rendering Plane

name: useSlabRenderingPlane, type: Bool, default: TRUE

Enables usage of the SoView2DScene slab information to render on the plane that the SoView2D shows.

World Plane

name: worldPlane, type: Plane, default: 0 0 1 0

The plane that should be intersected (ignored if SoView2DScene is present and Use Slab Rendering Plane is enabled.

Albedo Mix

name: albedoMix, type: Float, default: 1, minimum: 0, maximum: 1

Defines how much of the geometry color is mixed in (0 = color field only, 1 = color * geometry color).

Fill Inside

name: fillInside, type: Bool, default: TRUE

Enables filling of the inside. This requires another rendering pass.

Inside Color

name: insideColor, type: Color, default: 1 1 1

Defines the color to use for the inside.

Inside Alpha

name: insideAlpha, type: Float, default: 0.5, minimum: 0, maximum: 1

Defines the alpha factor for the inside.

Inside Albedo Mix

name: insideAlbedoMix, type: Float, default: 1, minimum: 0, maximum: 1

Defines how much of the inside geometry color is mixed in (0 = insideColor field only, 1 = insideColor * geometry color).

Hidden Fields

renderCaching

name: renderCaching, type: Enum, default: AUTO

Values:

Title Name
On ON
Off OFF
Auto AUTO

boundingBoxCaching

name: boundingBoxCaching, type: Enum, default: AUTO

Values:

Title Name
On ON
Off OFF
Auto AUTO

renderCulling

name: renderCulling, type: Enum, default: AUTO

Values:

Title Name
On ON
Off OFF
Auto AUTO

pickCulling

name: pickCulling, type: Enum, default: AUTO

Values:

Title Name
On ON
Off OFF
Auto AUTO