Abstract class for pie chart representation. More...
#include <MeshViz/graph/PoPieChart.h>
Abstract class for all pie chart representations. This class handles all pie chart attributes. A pie chart represents the relative size of one datum in relation to a set of data. Each datum is given by a numerical value which is expressed as a percentage of the sum of the values of the entire set of data. This percentage is used to calculate the angle of the slice representing the datum. All slices together make up a pie chart.
The slices of which the value is small can be regroup in a same slice. This slice is called the grouping slice.
There are 2 types of pie chart annotations. Internal annotations and external annotations. Futhermore annotations can be framed by a box. All annotations are draw with the Z-Buffer desactivated, that is, they are always visible.
There are 5 groups of fields attributes
)
All pie chart texts depend on the current miscellaneous text attributes which define the font name, line length and so on. If the method setMiscTextAttr(textAttr) is called, the current miscellaneous text attributes is "textAttr". Otherwise the current miscellaneous text attributes are specified in the current inherited state (cf property node PoMiscTextAttr).
All pie chart numerical values depend on the current numerical display format. If the method setFormat(format) is called, the current numerical display format is "format". Otherwise the current numerical display format is specified in the current inherited state (cf property node PoNumericDisplayFormat).
Type of annotation alignment.
Type of external annotation position.
static const SoNodekitCatalog* PoPieChart::getClassNodekitCatalog | ( | ) | [static] |
Returns the SoNodekitCatalog for this class.
Reimplemented from PoGraphMaster.
Reimplemented in PoPieChart2D, and PoPieChart3D.
static SoType PoPieChart::getClassTypeId | ( | ) | [static] |
Returns the type identifier for this class.
Reimplemented from PoGraphMaster.
Reimplemented in PoPieChart2D, and PoPieChart3D.
const PbNumericDisplayFormat* PoPieChart::getFormat | ( | ) | const |
Gets a reference to a PbNumericDisplayFormat object for the numerical display format of values of the pie chart.
const PbMiscTextAttr* PoPieChart::getMiscTextAttr | ( | ) | const |
Gets a reference to a PbMiscTextAttr for miscellaneous text attributes.
virtual const SoNodekitCatalog* PoPieChart::getNodekitCatalog | ( | ) | const [virtual] |
Returns the SoNodekitCatalog for this instance.
Reimplemented from PoGraphMaster.
Reimplemented in PoPieChart2D, and PoPieChart3D.
Allow the user to retreive the slice number (sliceNumber argument) which has been picked from a picked path (path argument) (cf SoSelection node for more information about picking).
float PoPieChart::getSliceToTranslate | ( | int | sliceNumber | ) | const |
Gets the current translation of a slice.
Returns 0 if sliceNumber slice does not exist or sliceNumber slice is not translated, the translation value otherwise.
virtual SoType PoPieChart::getTypeId | ( | ) | const [virtual] |
Returns the type identifier for this specific instance.
Reimplemented from PoGraphMaster.
Reimplemented in PoPieChart2D, and PoPieChart3D.
void PoPieChart::setFormat | ( | PbNumericDisplayFormat * | format | ) |
Sets a reference to a PbNumericDisplayFormat object for the numerical display format of values of the pie chart.
If this method is not called (or called passing NULL as argument), this is the numerical display format defined in the current inherited state (defined with the property node PoNumericDisplayFormat) which is used.
void PoPieChart::setMiscTextAttr | ( | PbMiscTextAttr * | textAttr | ) |
Sets a reference to a PbMiscTextAttr for miscellaneous text attributes.
If this method is not called (or called passing NULL as argument), this is the miscellaneous text attributes defined in the current inherited state (defined with the property node PoMiscTextAttr) which are used.
void PoPieChart::setSliceToTranslate | ( | int | sliceNumber, | |
float | translateValue | |||
) |
Convenience methods to set the fields sliceToTranslateNumber and sliceToTranslateValue.
As regards setSliceToTranslate() method, if sliceNumber == sliceToTranslateNumber[i] (i=0 to sliceToTranslateNumber.getNum() - 1), sliceToTranslateNumber[i] = translationValue, else sliceToTranslateNumber[sliceToTranslateNumber.getNum()] = translationValue.
Height of the arrow.
Visibility of the arrow.
Width of the arrow.
String concatened with exterior values.
Specify the visibility of a string concatenated with the exterior values (if they are visible).
Exterior annotation alignment.
Distance from the pie chart center to the end of the arrow.
If this value is less or equal to 0, the distance is fixed to 21/20 of the radius.
Distance from the end of the arrow to the middle of the arrow.
If this value is less or equal to 0, the distance is fixed to 1/10 of the radius.
Distance from the middle of the arrow to the start of the arrow.
If this value is less or equal to 0, the distance is fixed to 1/5 of the radius.
Exterior percentage font name.
If the font is equal to its default value, the font used is the font of the current miscellaneous text attributes.
Font size of exterior percentages.
If this value is less or equal to 0, the font size is fixed at 0.025. This value is a percentage of the current domain (cf PoBase description).
Exterior percent visibility (percent are computed from sliceValue field).
Exterior annotation position.
Exterior text (texts of sliceText field) font name.
If the font is equal to its default value, the font used is the font of the current miscellaneous text attributes.
Font size of exterior texts (texts of sliceText field).
If this value is less or equal to 0, the font size is fixed at 0.025. This value is a percentage of the current domain (cf PoBase description).
Exterior text visibility (texts of sliceText field).
Exterior value (values of sliceValue field) font name.
If the font is equal to its default value, the font used is the font of the current miscellaneous text attributes.
Font size of exterior values (values of sliceValue field).
If this value is less or equal to 0, the font size is fixed at 0.025. This value is a percentage of the current domain (cf PoBase description).
Exterior value visibility (values of sliceValue field).
String concatened with interior values.
Specify the visibility of a string concatenated with the interior values (if they are visible).
Interior annotation alignment.
Distance from the pie chart center to the interior annotation box center.
If this value is less or equal to 0, the distance is fixed to 2/3 of the radius.
Interior percentage font name.
If the font is equal to its default value, the font used is the font of the current miscellaneous text attributes.
Font size of interior percentages.
If this value is less or equal to 0, the font size is fixed at 0.025. This value is a percentage of the current domain (cf PoBase description).
Interior percent visibility (percent are computed from sliceValue field).
Interior annotation position.
Interior text (texts of sliceText field) font name.
If the font is equal to its default value, the font used is the font of the current miscellaneous text attributes.
Font size of interior texts (texts of sliceText field).
If this value is less or equal to 0, the font size is fixed at 0.025. This value is a percentage of the current domain (cf PoBase description).
Interior text visibility (texts of sliceText field).
Interior value (values of sliceValue field) font name.
If the font is equal to its default value, the font used is the font of the current miscellaneous text attributes.
Font size of interior values (values of sliceValue field).
If this value is less or equal to 0, the font size is fixed at 0.025. This value is a percentage of the current domain (cf PoBase description).
Interior value visibility (values of sliceValue field).
Radius of the pie chart.
Slice are approximated by a polygon, that is a sequence of straight line segments.
sliceAngleStep is the angle formed by two consecutive points of the polygon relative to the center of the slice.
Color associated to each slice of the pie chart.
If sliceColor.getNum() < sliceText.getNum(), then the interpretation of sliceColor is cyclical.
Activate or Deactivate the regrouping of small values.
Indicate if the value sliceGroupMinValue is interpreted as percentage (PERCENTAGE) or not (ABSOLUTE).
Use enum PercentStatus.
Threshold underneath the slice are regrouped.
String for the regrouping slice.
Text associated to each slice of the pie chart.
Take care that sliceText.getNum() is equal to sliceValue.getNum(), otherwise the number of slices of the pie chart is the minimun of sliceText.getNum() and sliceValue.getNum().
Numbers (slice numbers begin at 0) of the slices to translate.
sliceToTranslateNumber[i] is the number of the i-th slice to translate. If sliceToTranslateNumber[i] is less than zero, it corresponds to the slice of regrouping small values.
Translation values along the bisectors of the slices.
sliceToTranslateValue[i] is the translate value along the bisector of the i-th slice.
Value associated to each slice of the pie chart.
Take care that sliceText.getNum() is equal to sliceValue.getNum(), otherwise the number of slices of the pie chart is the minimun of sliceText.getNum() and sliceValue.getNum().