23#ifndef _MO_MESHANNOTATEDISOLINE_
24#define _MO_MESHANNOTATEDISOLINE_
26#include <MeshVizXLM/MbVec3.h>
27#include <MeshVizXLM/extractors/MiExtractorCallback.h>
29#include <MeshVizXLM/mapping/nodes/MoMeshIsoline.h>
31#include <Inventor/STL/vector>
35#pragma warning(disable:4251)
47class MxExtractorCallback;
193 static void initClass() ;
194 static void exitClass() ;
197 virtual void doExtract(
SoAction * action);
201 void annotateLines(
SoAction * action,
const std::vector<const MeXLineMeshUnstructured*>& lines,
const MiMesh* inputMesh);
203 MxExtractorCallback* m_redrawCallback;
205 class ChordalDistance
208 std::vector< double > m_distances;
210 size_t m_startCellIndex;
214 void addAnnot(
MbVec3d& pos, std::string& str,
MbVec3d& baseVector,
float width,
float height);
215 void getStringSize(
SoAction * action,
const std::string& str,
float &width,
float &height,
SbBox3f& bbox);
216 std::string computeString(
SoAction * action,
float isovalue,
float& width,
float& height,
SbBox3f& annotBbox);
217 std::vector<double>::iterator computeAnnotPos(ChordalDistance& chordalDistances,
const std::vector<double>::iterator& beg,
const std::vector<double>::iterator& end,
219 void initSceneGraph(
double diag);
<a href="IconLegend.html"><img src="extMV.gif" alt="MeshViz" border="0"></a> Extracted unstructured l...
<a href="IconLegend.html"><img src="extMV.gif" alt="MeshViz" border="0"></a> List of extracted line c...
<a href="IconLegend.html"><img src="extMV.gif" alt="MeshViz" border="0"></a> Generic geometry interfa...
<a href="IconLegend.html"><img src="extMV.gif" alt="MeshViz" border="0"></a> Abstract mesh interface.
<a href="IconLegend.html"><img src="extMV.gif" alt="MeshViz" border="0"></a> Rendering node that disp...
SoSFColor borderColor
Color used for the annotation background border.
MoMeshAnnotatedIsoline()
Constructor.
SoSFFloat fontSize
Font size of annotation text in mesh coordinates units.
void setExtractorCallback(MiExtractorCallback *extractorCallback)
Set the extraction callback which will be called each time an extraction is performed.
SoSFBool isText2D
If TRUE, draw text using a SoText2D primitive (bitmapped text).
SoSFBool isVisible
Contour line annotation visibility.
SoSFColor backgroundColor
Color used for the annotation background Default is gray = SbColor(0.3,0.3,0.3)
AnnotPath
Path of annotation text.
@ HORIZONTAL_PATH
Annotations are horizontal.
@ TANGENTIAL_PATH
Annotations are tangential to the contour lines.
SoSFVec3f upVector
Annotation text up vector.
SoSFColor color
Color used for the annotation text Default is white = SbColor(1,1,1)
SoSFEnum path
Annotation path.
SoSFFloat gap
Curvilinear distance between two annotations of the same contour line.
SoSFBool isBackground
Defines if the annotations are framed by a background.
<a href="IconLegend.html"><img src="extMV.gif" alt="MeshViz" border="0"></a> Rendering node that disp...
Abstract base class for all actions.
<a href="IconLegend.html"><img src="extTGS.gif" alt="VSG extension" border="0"></a> Annotation text ...
Node that defines font name, size, and type for text.
Computes bounding box of a scene.
Base class for all group nodes.
Field containing a single Boolean value.
Field containing an RGB color.
Field containing an enumerated value.
Field containing a floating-point value.
Field containing a three-dimensional vector.
Group node that saves and restores traversal state.
Screen-aligned 2D text shape node.
<a href="IconLegend.html"><img src="extTGS.gif" alt="VSG extension" border="0"></a> Text property no...