Abstract base class for all Graph Master & 3D Data Master classes. More...
#include <MeshViz/graph/PoBase.h>
All representations depend on the current domain which defines the data limits of the graphic to be generated. If the method setDomain(domain) is called, the current domain is "domain". Otherwise the current domain is specified in the current inherited state (cf property node PoDomain).
Be careful, do not use the method rebuild() if you use MeshViz property nodes (PoDomain, PoMeshProperty,...), because a representation (axis, legend, 2D and 3D mesh representation,..) depends on the current inherited state. If you need to do an extra work after a representation has been built, do it in a post-rebuild callback (cf PoBase::addPostRebuildCallback).
typedef void PoBase::PoRebuildCB(void *userData, PoBase *base) |
enum PoBase::TextType |
void PoBase::addPostRebuildCallback | ( | PoRebuildCB * | cb, | |
void * | data | |||
) |
Add a callback function to call when the node kit is rebuilt.
This callback is called just after the kit is rebuilt.
void PoBase::addPreRebuildCallback | ( | PoRebuildCB * | cb, | |
void * | data | |||
) |
Add a callback function to call when the node kit is rebuilt.
This callback is called just before the kit is rebuilt.
virtual SbBool PoBase::affectsState | ( | ) | const [virtual] |
See SoNode::affectsState() for explanations.
Reimplemented from SoNode.
Copy method.
Reimplemented from SoNode.
static const SoNodekitCatalog* PoBase::getClassNodekitCatalog | ( | ) | [static] |
Returns the SoNodekitCatalog for this class.
Reimplemented from SoBaseKit.
Reimplemented in Po3DdataMaster, PoBaseStreamLine, PoCellEdges, PoCellFacets, PoCellIndices, PoCellShape, PoMesh, PoMesh2D, PoMesh2DVec, PoMesh3D, PoMesh3DVec, PoMesh3DVecCrossSection, PoMesh3DVecGridCrossSection, PoMeshContouring, PoMeshCrossContour, PoMeshCrossSection, PoMeshFilled, PoMeshLevelSurf, PoMeshLimit, PoMeshLines, PoMeshProbePoint, PoMeshSides, PoMeshSkeleton, PoMeshSkin, PoStreamLine, PoStreamLineMotion, PoStreamParticleMotion, PoStreamPointMotion, PoStreamSphereMotion, PoStreamSurface, PoStreamTadpoleMotion, PoAngularAxis, PoArrow, PoArrow3, PoAutoCubeAxis, PoAutoValueLegend, PoAxis, PoBar, PoBaseAxis, PoBiErrorPointField, PoCartesianAxis, PoChart, PoCircle, PoCircle3, PoCircle3CenterRadius, PoCircle3ThreePoints, PoCircleArc, PoCircleArc3, PoCircleArc3CtrPtAngle, PoCircleArc3CtrTwoPts, PoCircleArc3ThreePts, PoCircleArcCtrPtAngle, PoCircleArcCtrRadTwoAngle, PoCircleArcCtrTwoPts, PoCircleArcThreePts, PoCircleCenterRadius, PoCircleThreePoints, PoConicBar, PoCoordinateSystemAxis, PoCurve, PoCurve3, PoCurveFilling, PoCurveLine, PoCylindricalBar, PoErrorCurve, PoErrorPointField, PoGenAxis, PoGeneralizedBar, PoGeneralizedScatter, PoGraphMaster, PoGroup2Axis, PoGroup3Axis3, PoGroup4Axis, PoGroup6Axis3, PoHighLowClose, PoHistogram, PoItemLegend, PoLabel, PoLabelField, PoLegend, PoLinearAxis, PoLinearBar, PoLinearValueLegend, PoLogAxis, PoMultipleHistogram, PoNonLinearValueLegend1, PoNonLinearValueLegend2, PoNonLinearValueLegend3, PoParallelogram, PoParallelogram3, PoPieChart, PoPieChart2D, PoPieChart3D, PoPieChartRep, PoPointsFieldBars, PoPolarAxis, PoPolarLinAxis, PoPolarLogAxis, PoProfileBar, PoRectangle, PoRibbon, PoScatter, PoSingleHistogram, PoTimeAxis, PoTube, PoValuedMarkerField, and PoValueLegend.
static SoType PoBase::getClassTypeId | ( | ) | [static] |
Returns the type identifier for this class.
Reimplemented from SoBaseKit.
Reimplemented in Po3DdataMaster, PoBaseStreamLine, PoCellEdges, PoCellFacets, PoCellIndices, PoCellShape, PoMesh, PoMesh2D, PoMesh2DVec, PoMesh3D, PoMesh3DVec, PoMesh3DVecCrossSection, PoMesh3DVecGridCrossSection, PoMeshContouring, PoMeshCrossContour, PoMeshCrossSection, PoMeshFilled, PoMeshLevelSurf, PoMeshLimit, PoMeshLines, PoMeshProbePoint, PoMeshSides, PoMeshSkeleton, PoMeshSkin, PoStreamLine, PoStreamLineMotion, PoStreamParticleMotion, PoStreamPointMotion, PoStreamSphereMotion, PoStreamSurface, PoStreamTadpoleMotion, PoAngularAxis, PoArrow, PoArrow3, PoAutoCubeAxis, PoAutoValueLegend, PoAxis, PoBar, PoBaseAxis, PoBiErrorPointField, PoCartesianAxis, PoChart, PoCircle, PoCircle3, PoCircle3CenterRadius, PoCircle3ThreePoints, PoCircleArc, PoCircleArc3, PoCircleArc3CtrPtAngle, PoCircleArc3CtrTwoPts, PoCircleArc3ThreePts, PoCircleArcCtrPtAngle, PoCircleArcCtrRadTwoAngle, PoCircleArcCtrTwoPts, PoCircleArcThreePts, PoCircleCenterRadius, PoCircleThreePoints, PoConicBar, PoCoordinateSystemAxis, PoCurve, PoCurve3, PoCurveFilling, PoCurveLine, PoCylindricalBar, PoErrorCurve, PoErrorPointField, PoGenAxis, PoGeneralizedBar, PoGeneralizedScatter, PoGraphMaster, PoGroup2Axis, PoGroup3Axis3, PoGroup4Axis, PoGroup6Axis3, PoHighLowClose, PoHistogram, PoItemLegend, PoLabel, PoLabelField, PoLegend, PoLinearAxis, PoLinearBar, PoLinearValueLegend, PoLogAxis, PoMultipleHistogram, PoNonLinearValueLegend1, PoNonLinearValueLegend2, PoNonLinearValueLegend3, PoParallelogram, PoParallelogram3, PoPieChart, PoPieChart2D, PoPieChart3D, PoPieChartRep, PoPointsFieldBars, PoPolarAxis, PoPolarLinAxis, PoPolarLogAxis, PoProfileBar, PoRectangle, PoRibbon, PoScatter, PoSingleHistogram, PoTimeAxis, PoTube, PoValuedMarkerField, and PoValueLegend.
const PbDomain* PoBase::getDomain | ( | ) | const |
Gets a reference to a PbDomain object used to define the data limits of the graphics to be generated.
virtual const SoNodekitCatalog* PoBase::getNodekitCatalog | ( | ) | const [virtual] |
Returns the SoNodekitCatalog for this instance.
Reimplemented from SoBaseKit.
Reimplemented in Po3DdataMaster, PoBaseStreamLine, PoCellEdges, PoCellFacets, PoCellIndices, PoCellShape, PoMesh, PoMesh2D, PoMesh2DVec, PoMesh3D, PoMesh3DVec, PoMesh3DVecCrossSection, PoMesh3DVecGridCrossSection, PoMeshContouring, PoMeshCrossContour, PoMeshCrossSection, PoMeshFilled, PoMeshLevelSurf, PoMeshLimit, PoMeshLines, PoMeshProbePoint, PoMeshSides, PoMeshSkeleton, PoMeshSkin, PoStreamLine, PoStreamLineMotion, PoStreamParticleMotion, PoStreamPointMotion, PoStreamSphereMotion, PoStreamSurface, PoStreamTadpoleMotion, PoAngularAxis, PoArrow, PoArrow3, PoAutoCubeAxis, PoAutoValueLegend, PoAxis, PoBar, PoBaseAxis, PoBiErrorPointField, PoCartesianAxis, PoChart, PoCircle, PoCircle3, PoCircle3CenterRadius, PoCircle3ThreePoints, PoCircleArc, PoCircleArc3, PoCircleArc3CtrPtAngle, PoCircleArc3CtrTwoPts, PoCircleArc3ThreePts, PoCircleArcCtrPtAngle, PoCircleArcCtrRadTwoAngle, PoCircleArcCtrTwoPts, PoCircleArcThreePts, PoCircleCenterRadius, PoCircleThreePoints, PoConicBar, PoCoordinateSystemAxis, PoCurve, PoCurve3, PoCurveFilling, PoCurveLine, PoCylindricalBar, PoErrorCurve, PoErrorPointField, PoGenAxis, PoGeneralizedBar, PoGeneralizedScatter, PoGraphMaster, PoGroup2Axis, PoGroup3Axis3, PoGroup4Axis, PoGroup6Axis3, PoHighLowClose, PoHistogram, PoItemLegend, PoLabel, PoLabelField, PoLegend, PoLinearAxis, PoLinearBar, PoLinearValueLegend, PoLogAxis, PoMultipleHistogram, PoNonLinearValueLegend1, PoNonLinearValueLegend2, PoNonLinearValueLegend3, PoParallelogram, PoParallelogram3, PoPieChart, PoPieChart2D, PoPieChart3D, PoPieChartRep, PoPointsFieldBars, PoPolarAxis, PoPolarLinAxis, PoPolarLogAxis, PoProfileBar, PoRectangle, PoRibbon, PoScatter, PoSingleHistogram, PoTimeAxis, PoTube, PoValuedMarkerField, and PoValueLegend.
static NodeWriteFormat PoBase::getNodeWriteFormat | ( | ) | [static] |
Gets the node write format.
See setNodeWriteFormat for more details.
static TextType PoBase::getTextType | ( | ) | [static] |
Gets the type of text used.
virtual SoType PoBase::getTypeId | ( | ) | const [virtual] |
Returns the type identifier for this specific instance.
Reimplemented from SoBaseKit.
Reimplemented in Po3DdataMaster, PoBaseStreamLine, PoCellEdges, PoCellFacets, PoCellIndices, PoCellShape, PoMesh, PoMesh2D, PoMesh2DVec, PoMesh3D, PoMesh3DVec, PoMesh3DVecCrossSection, PoMesh3DVecGridCrossSection, PoMeshContouring, PoMeshCrossContour, PoMeshCrossSection, PoMeshFilled, PoMeshLevelSurf, PoMeshLimit, PoMeshLines, PoMeshProbePoint, PoMeshSides, PoMeshSkeleton, PoMeshSkin, PoStreamLine, PoStreamLineMotion, PoStreamParticleMotion, PoStreamPointMotion, PoStreamSphereMotion, PoStreamSurface, PoStreamTadpoleMotion, PoAngularAxis, PoArrow, PoArrow3, PoAutoCubeAxis, PoAutoValueLegend, PoAxis, PoBar, PoBaseAxis, PoBiErrorPointField, PoCartesianAxis, PoChart, PoCircle, PoCircle3, PoCircle3CenterRadius, PoCircle3ThreePoints, PoCircleArc, PoCircleArc3, PoCircleArc3CtrPtAngle, PoCircleArc3CtrTwoPts, PoCircleArc3ThreePts, PoCircleArcCtrPtAngle, PoCircleArcCtrRadTwoAngle, PoCircleArcCtrTwoPts, PoCircleArcThreePts, PoCircleCenterRadius, PoCircleThreePoints, PoConicBar, PoCoordinateSystemAxis, PoCurve, PoCurve3, PoCurveFilling, PoCurveLine, PoCylindricalBar, PoErrorCurve, PoErrorPointField, PoGenAxis, PoGeneralizedBar, PoGeneralizedScatter, PoGraphMaster, PoGroup2Axis, PoGroup3Axis3, PoGroup4Axis, PoGroup6Axis3, PoHighLowClose, PoHistogram, PoItemLegend, PoLabel, PoLabelField, PoLegend, PoLinearAxis, PoLinearBar, PoLinearValueLegend, PoLogAxis, PoMultipleHistogram, PoNonLinearValueLegend1, PoNonLinearValueLegend2, PoNonLinearValueLegend3, PoParallelogram, PoParallelogram3, PoPieChart, PoPieChart2D, PoPieChart3D, PoPieChartRep, PoPointsFieldBars, PoPolarAxis, PoPolarLinAxis, PoPolarLogAxis, PoProfileBar, PoRectangle, PoRibbon, PoScatter, PoSingleHistogram, PoTimeAxis, PoTube, PoValuedMarkerField, and PoValueLegend.
UpdateMethodType PoBase::getUpdateMethod | ( | ) | const [inline] |
Gets update method.
See setUpdateMethod for more details.
SbBool PoBase::isBuilt | ( | ) | const [inline] |
Indicates if the node kit has been built at least once.
SbBool PoBase::isModified | ( | ) | const [inline] |
Return TRUE, if the kit has been modified, else otherwise.
static SbBool PoBase::isVRML2Mode | ( | ) | [static] |
Gets the VRML2 mode (TRUE = VRML2 mode, FALSE Inventor mode).
virtual void PoBase::rebuild | ( | ) | [inline, virtual] |
Forces the node kit to be rebuilt immediately.
The rebuild consists in updating all catalog parts (which contains shapes forming the visualization) of the node kit according to field values and other property values (domain, data mapping,...). Be careful, do not use the method rebuild() if you use MeshViz property nodes (PoDomain, PoMeshProperty,...), because a representation (axis, legend, 2D and 3D mesh representation,..) depends on the current inherited state. If you need to do an extra work after a representation has been built, do it in a post-rebuild callback (cf PoBase::addPostRebuildCallback).
Reimplemented in PoCellEdges, PoCellFacets, PoCellIndices, PoMesh2DVec, PoMesh3DVec, PoMesh3DVecCrossSection, PoMesh3DVecGridCrossSection, PoMeshContouring, PoMeshCrossContour, PoMeshCrossSection, PoMeshFilled, PoMeshLevelSurf, PoMeshLimit, PoMeshLines, PoMeshProbePoint, PoMeshSides, PoMeshSkeleton, PoMeshSkin, PoStreamLine, PoStreamLineMotion, PoStreamPointMotion, PoStreamSphereMotion, PoStreamSurface, PoStreamTadpoleMotion, PoAngularAxis, PoArrow, PoArrow3, PoAutoCubeAxis, PoBiErrorPointField, PoCircle3CenterRadius, PoCircle3ThreePoints, PoCircleArc3CtrPtAngle, PoCircleArc3CtrTwoPts, PoCircleArc3ThreePts, PoCircleArcCtrPtAngle, PoCircleArcCtrRadTwoAngle, PoCircleArcCtrTwoPts, PoCircleArcThreePts, PoCircleCenterRadius, PoCircleThreePoints, PoCoordinateSystemAxis, PoCurve, PoCurve3, PoErrorCurve, PoErrorPointField, PoGenAxis, PoGroup2Axis, PoGroup3Axis3, PoGroup4Axis, PoGroup6Axis3, PoHighLowClose, PoItemLegend, PoLabelField, PoLinearAxis, PoLinearValueLegend, PoLogAxis, PoMultipleHistogram, PoNonLinearValueLegend1, PoNonLinearValueLegend2, PoNonLinearValueLegend3, PoParallelogram, PoParallelogram3, PoPieChart2D, PoPieChart3D, PoPointsFieldBars, PoPolarLinAxis, PoPolarLogAxis, PoRectangle, PoSingleHistogram, PoTimeAxis, and PoValuedMarkerField.
void PoBase::removePostRebuildCallback | ( | PoRebuildCB * | cb, | |
void * | data | |||
) |
Remove a callback function to call when the node kit is rebuilt.
This callback is called just after the kit is rebuilt.
void PoBase::removePreRebuildCallback | ( | PoRebuildCB * | cb, | |
void * | data = NULL | |||
) |
Remove a callback function to call when the node kit is rebuilt.
This callback is called just before the kit is rebuilt.
void PoBase::setDomain | ( | PbDomain * | dom | ) |
static void PoBase::setNodeWriteFormat | ( | NodeWriteFormat | format | ) | [static] |
Sets the node write format.
FOLD_NODE_WRITE_FORMAT indicates that all nodes will not be unfolded when they are written with a SoWriteAction. UNFOLD_NODE_WRITE_FORMAT indicates on the contrary, that all nodes will be unfolded when they are written with a SoWriteAction. This format may be useful if you want to convert the generated file into a VRML format. Be careful, when using the format FOLD_NODE_WRITE_FORMAT, the basic objects (Pb objects) are not written in .iv file. In this case (and if you need to save this information), use the corresponding property node (for instance, replace the PbDomain object with the PoDomain property node).
(FOLD_NODE_WRITE_FORMAT by default).
static void PoBase::setTextType | ( | TextType | type | ) | [static] |
Sets the type of text used.
Possible values :
type = SO_ANNO_TEXT3 by default.
void PoBase::setUpdateMethod | ( | UpdateMethodType | type | ) | [inline] |
Sets scene graph update method.
UPDATE_METHOD_IMMEDIATE indicates that each time a Graph Master or 3D Data Master object is modified, the scene graph must be updated. UPDATE_METHOD_ON_ACTION indicates that the scene graph does not have to be modified when a Graph Master or 3D Data Master object changes; the scene graph being modified when it is necessary (before a rendering action for instance). The faster method is UPDATE_METHOD_ON_ACTION and is particularly useful for representations where more than one field has to be set to obtain the definitive representation, because with the other method, each time a field is changed, the representation is rebuilt. (UPDATE_METHOD_ON_ACTION by default).
static void PoBase::setVRML2Mode | ( | SbBool | flag | ) | [static] |
Set the VRML2 mode.
This mode allows the user to configure MeshViz to prepare the conversion in VRML2 format with the best possible result. In this way, MeshViz realizes some particular actions :
This mode is inactive by default.
void PoBase::touchKit | ( | ) |
Indicates the node kit is modified.
(Simulates a change).