#include <Radical.h>
Inheritance diagram for mcRadicalHelpers:
This is entirely defined & implemented through macros.
Definition at line 56 of file Radical.h.
Public Member Functions | |
virtual int | gui_GetSpaceAboveBelow () const |
The additional space added above and below the parentheses. | |
virtual int | gui_GetSpaceLeftRight () const |
mcRadicalHelpers () | |
virtual | ~mcRadicalHelpers () |
int | gui_GetVWidth () const |
Returns the width of the 'V' of the radical symbol. | |
bool | math_hasIdx () const |
mcPolynomial & | math_GetIdx () |
const mcPolynomial & | math_GetIdx () const |
mcRealValue | math_Evaluate () const |
Evaluates the numeric value of this element and then returns it. | |
mcMathType | math_GetBaseMathType () const |
mcExpSimRes | math_SimplifyContents (long flags, mcElement *newelem) |
mcExpSimRes | math_ExpandContents (long flags, mcElement *newelem) |
int | math_GetOrderPos () const |
A mcRadical has a complexity/lenght of 1.0 that is, twice the lenght of an element with a. | |
bool | io_isBeginTag (const wxXml2Node &tag) const |
Returns a positive value if the given MathML content tag marks the begin of this element; FALSE otherwise. | |
bool | io_isBeginChar (const wxString &str) const |
Returns a positive value if the given inlined expression marks the begin of this element; FALSE otherwise. | |
wxXml2Node | io_GetMathML (bool bGetPresentation) const |
Returns the MathML tree which describes this element and, eventually, its exponent and its subscript. | |
wxXml2Node | io_GetBaseMathML (bool bGetPresentation) const |
Returns a MathML tree with the presentation math markup language regarding the base. | |
bool | io_ImportPresentationMathML (wxXml2Node tag, wxString &pErr) |
Imports presentation MathML reading the contents of the given XML node (without modifying it). | |
wxString | io_GetInlinedExpr () const |
Returns the inlined expression for this element as a wxString. | |
wxString | io_GetBaseInlinedExpr () const |
bool | io_ImportBaseInlinedExpr (const wxString &, int *, wxString &) |
mcExpContainer overloaded functions | |
Functions which implements the mcExpContainer abstract functions modifyng the default behaviour of the exponent, transforming it in the index of the radical. | |
bool | gui_isBeginKey (const mcKey &key) const |
Returns a positive value if the given character marks the begin of this element; FALSE otherwise. | |
void | gui_DrawContainer (wxDC &, int x, int y, long flags, const wxPoint &) const |
bool | gui_isLeftPosEnabled () const |
The left position of a mcRadical depends from the presence of the index... | |
bool | gui_isRightPosEnabled () const |
To insert something outside a mcRadical, you need to move the cursor out of the root symbol. | |
void | gui_DoRecalcBaseSize () |
Calculates (in the m_szBase variable) the size of the base only. | |
int | gui_GetExpOffsetx () const |
int | gui_GetContentOffsetX () const |
int | gui_GetContentOffsetY () const |
int | gui_GetBaseOffsety () const |
VERY IMPORTANT: a mcRadical doesn't draw the base as mcExpElement normally expect; it draws the. | |
Static Public Member Functions | |
static bool | io_isRadicalBeginChar (const wxString &str) |
Static Public Attributes | |
static mcKey * | sgui_pNewRadical = NULL |
The key to use to create this element. | |
static int | sgui_nSpaceAboveBelow = 2 |
static int | sgui_nSpaceLeftRight = 4 |
static wxString | sio_strSquareRoot = wxT("sqrt") |
static wxString | sio_strGenericRoot = wxT("root") |
Private Member Functions | |
mcDEFINE_REFERENCE_DATA (mcRadical, mcET_RADICAL) |
|
|
|
|
|
Calculates (in the m_szBase variable) the size of the base only. It's very important not to modify the m_sz variable: m_sz is handled by mcExpElement functions: the base must modify ONLY *m_szBase*. Implements mcExpElementHelpers. Definition at line 116 of file Radical.cpp. References mcExpContainerHelpers::data_GetContent(), mcExpElementHelpers::gui_GetExpSubSize(), mcElement::gui_GetSize(), gui_GetSpaceAboveBelow(), gui_GetSpaceLeftRight(), mcElementHelpers::gui_GetThickness(), gui_GetVWidth(), and mcMAX. |
|
Implements mcExpContainerHelpers. Definition at line 132 of file Radical.cpp. References mcExpElementHelpers::gui_GetBaseSize(), mcExpElementHelpers::gui_GetExpSubSize(), mcElementHelpers::gui_GetThickness(), gui_GetVWidth(), mcElementHelpers::gui_GetWidth(), and mcMAX. |
|
VERY IMPORTANT: a mcRadical doesn't draw the base as mcExpElement normally expect; it draws the.
Reimplemented from mcExpElementHelpers. |
|
Implements mcExpContainerHelpers. Definition at line 98 of file Radical.cpp. References mcExpElementHelpers::gui_GetExpSubSize(), gui_GetSpaceLeftRight(), gui_GetVWidth(), and mcMAX. |
|
Implements mcExpContainerHelpers. Definition at line 90 of file Radical.cpp. References mcExpContainerHelpers::data_GetContent(), mcElement::gui_GetHeight(), mcElementHelpers::gui_GetHeight(), gui_GetSpaceAboveBelow(), and mcElementHelpers::gui_GetThickness(). |
|
Definition at line 105 of file Radical.cpp. |
|
The additional space added above and below the parentheses.
Reimplemented from mcExpContainerHelpers. Definition at line 69 of file Radical.h. Referenced by gui_DoRecalcBaseSize(), and gui_GetContentOffsetY(). |
|
Reimplemented from mcExpContainerHelpers. Definition at line 70 of file Radical.h. Referenced by gui_DoRecalcBaseSize(), and gui_GetContentOffsetX(). |
|
Returns the width of the 'V' of the radical symbol.
Definition at line 111 of file Radical.cpp. References mcExpElementHelpers::gui_GetExpSubSize(), and mcMAX. Referenced by gui_DoRecalcBaseSize(), gui_DrawContainer(), and gui_GetContentOffsetX(). |
|
Returns a positive value if the given character marks the begin of this element; FALSE otherwise. The begin character cannot be dependent from any variable; it must be always the same. The character is given both as ASCII code and as virtual key code.
Implements mcElementHelpers. Definition at line 76 of file Radical.cpp. References sgui_pNewRadical. |
|
The left position of a mcRadical depends from the presence of the index...
Implements mcExpContainerHelpers. Definition at line 83 of file Radical.cpp. References mcElementHelpers::data_hasProperty(), and mcEP_HASEXPONENT. |
|
To insert something outside a mcRadical, you need to move the cursor out of the root symbol.
Implements mcExpContainerHelpers. |
|
Implements mcExpElementHelpers. |
|
Returns a MathML tree with the presentation math markup language regarding the base. This function should work exactly as the hononymous mcElement function.
Reimplemented from mcExpContainerHelpers. Definition at line 180 of file Radical.cpp. |
|
Returns the inlined expression for this element as a wxString. "Inlined expression" means a math representation of the data in a single line: to allow such a restriction (everything must be on one text line), some standard conventions (and many brackets !!!) are used:
Reimplemented from mcExpElementHelpers. Definition at line 208 of file Radical.cpp. References mcExpContainerHelpers::data_GetContent(), mcExpElementHelpers::data_GetExp(), mcElementHelpers::data_hasProperty(), mcElement::io_GetInlinedExpr(), mcEP_HASEXPONENT, sio_strGenericRoot, and sio_strSquareRoot. |
|
Returns the MathML tree which describes this element and, eventually, its exponent and its subscript.
Reimplemented from mcExpElementHelpers. Definition at line 186 of file Radical.cpp. References mcExpContainerHelpers::data_GetContent(), mcExpElementHelpers::data_GetExp(), mcElementHelpers::data_hasProperty(), and mcEP_HASEXPONENT. |
|
|
Imports presentation MathML reading the contents of the given XML node (without modifying it).
This function is called only if io_isBeginTag function returns a positive value for the name of parent tag of
Reimplemented from mcExpContainerHelpers. Definition at line 228 of file Radical.cpp. |
|
Returns a positive value if the given inlined expression marks the begin of this element; FALSE otherwise. The begin tag cannot be dependent from any variable; it must be always the same. Implements mcElementHelpers. |
|
Returns a positive value if the given MathML content tag marks the begin of this element; FALSE otherwise. The begin tag cannot be dependent from any variable; it must be always the same.
Reimplemented from mcExpContainerHelpers. |
|
Definition at line 192 of file Radical.h. Referenced by mcMonomialHelpers::io_ImportInlinedExpr(). |
|
Evaluates the numeric value of this element and then returns it. The evaluation can proceed *only* if this element does _not_ contain any parameter or unknown; in case it contains one of these, then the returned value is *mcRealValue::pNAN. Reimplemented from mcExpElementHelpers. Definition at line 302 of file Radical.cpp. References mcElement::math_Evaluate(), mcExpContainerHelpers::math_EvaluateBase(), math_GetIdx(), math_hasIdx(), and mcRealValue::root(). |
|
Implements mcExpContainerHelpers. Definition at line 378 of file Radical.cpp. References mcESR_DONE. |
|
Reimplemented from mcExpContainerHelpers. Definition at line 316 of file Radical.cpp. References mcMathType::m_tMath1, mcElementHelpers::math_ContainsUnknowns(), mcExpContainerHelpers::math_GetBaseMathType(), math_GetIdx(), math_hasIdx(), and mcMTL1_RATIONAL. |
|
|
|
Definition at line 162 of file Radical.h. Referenced by math_Evaluate(), math_GetBaseMathType(), and math_SimplifyContents(). |
|
A mcRadical has a complexity/lenght of 1.0 that is, twice the lenght of an element with a.
Implements mcElementHelpers. |
|
Definition at line 161 of file Radical.h. Referenced by math_Evaluate(), and math_GetBaseMathType(). |
|
Implements mcExpContainerHelpers. Definition at line 332 of file Radical.cpp. References mcExpContainerHelpers::data_GetContent(), mcExpElement::data_GetExp(), mcElement::data_GetType(), mcElement::math_EvaluatesTo(), mcElementArray::math_Get(), mcPolynomial::math_Get(), mcElementArray::math_GetCount(), math_GetIdx(), mcElement::math_SimpleDivideBy(), mcASSERT, mcESR_DONE, mcET_BRACKET, and mcET_NUMBER. |
|
|
|
Definition at line 57 of file Radical.cpp. |
|
Definition at line 56 of file Radical.cpp. |
|
The key to use to create this element.
Definition at line 66 of file Radical.cpp. Referenced by gui_isBeginKey(). |
|
Definition at line 59 of file Radical.cpp. Referenced by io_GetInlinedExpr(), and io_ImportBaseInlinedExpr(). |
|
Definition at line 60 of file Radical.cpp. Referenced by io_GetInlinedExpr(), and io_ImportBaseInlinedExpr(). |
[ Top ] |