15
17
DEFINE_CLASS_TAG(sPositionMark)
16
18
DEFINE_CLASS_TAG(sXMark)
17
19
DEFINE_CLASS_TAG(sYMark)
18
DEFINE_CLASS_TAG(sIntervalMark)
19
DEFINE_CLASS_TAG(sXIntervalMark)
20
DEFINE_CLASS_TAG(sYIntervalMark)
21
DEFINE_CLASS_TAG(sBaselineMark)
23
//------------------------------------------------------------------------------
25
sString sMark::Hint ()
30
//------------------------------------------------------------------------------
20
//DEFINE_CLASS_TAG(sIntervalMark)
21
//DEFINE_CLASS_TAG(sXIntervalMark)
22
//DEFINE_CLASS_TAG(sYIntervalMark)
23
//DEFINE_CLASS_TAG(sBaselineMark)
25
//-------------------------------------------------------------------- sMark ---
27
sMark::sMark (rsObjectStream S)
33
void sMark::Store (rsObjectStream S)
35
sGraphObject::Store(S);
38
//------------------------------------------------------------ sPositionMark ---
32
40
sPositionMark::sPositionMark (rsObjectStream S)
40
48
void sPositionMark::Store (rsObjectStream S)
51
sPhysValueNode::Store(S);
43
52
S.WRITE_FROM(Mode);
48
void sPositionMark::AssignIntrinsicContent (sNode::sPtr NP)
56
void sPositionMark::AssignIntrinsicContent (sNodePtr NP)
50
sMark::AssignIntrinsicContent(NP);
51
if( NP->OwnType() <= sPositionMark::Type ){
58
sPhysValueNode::AssignIntrinsicContent(NP);
59
sPositionMark::sPtr Ptr(NP);
60
if( Ptr.IsCorrect() ){
52
61
//! @todo{Undo} sNetUndoAssignValue2nInt(sPtr(this),Value)
53
62
Mode=rsPositionMark(*NP).Mode;
54
FValue=rsPositionMark(*NP).FValue;
59
sString sPositionMark::Text () const
61
return sLongString(AnsiString(FValue).c_str());
64
//------------------------------------------------------------------------------
66
sNode::sPtr sXMark::Copy () const
68
psXMark NewNode = new sXMark(Value());
67
sString sPositionMark::Text (eTextFormat F
68
,eTextDetalization D) const
73
// psCurveAppearance A = dynamic_cast<psCurveAppearance>(Appearance);
75
// T = sString("<font ") + A->/*Line.*/Color.TagForHTML() + ">";
80
return T + sPhysValueNode::Text(F,D);
83
//------------------------------------------------------------------- sXMark ---
85
sXMark::sXMark (rsObjectStream S)
91
void sXMark::Store (rsObjectStream S)
93
sPositionMark::Store(S);
73
97
sBoundaries sXMark::Boundaries ()
75
sBoundaries B ( sPhysRange(Value(),Value()) ,sPhysRange() );
99
sBoundaries B (sPhysRange((sPhysValue)(*this)
100
,(sPhysValue)(*this))
101
,sPhysRange(real_nan,real_nan,_Unitsless_)
103
// RANet::Log.Put(sLog::Debug,"Graph"
104
// ,sString("sXMark::Boundaries: ")+B.X.From().Text()+" "+B.X.To().Text());
80
int sXMark::Distance (sPoint P
85
return floor(fabs(P.X-Value())/XPixelValue+0.5);
88
//------------------------------------------------------------------------------
90
sNode::sPtr sYMark::Copy () const
92
psYMark NewNode = new sYMark(Value());
109
int sXMark::Distance (rcsIntPoint position
113
return abs( position.X - scales.X.Tr((sPhysValue)(*this)) );
115
return std::numeric_limits<int>::max();
119
//------------------------------------------------------------------- sYMark ---
121
sYMark::sYMark (rsObjectStream S)
127
void sYMark::Store (rsObjectStream S)
129
sPositionMark::Store(S);
97
133
sBoundaries sYMark::Boundaries ()
99
sBoundaries B ( sPhysRange() ,sPhysRange(Value(),Value()) );
135
sBoundaries B (sPhysRange(real_nan,real_nan,_Unitsless_)
136
,sPhysRange((sPhysValue)(*this)
137
,(sPhysValue)(*this))
139
// RANet::Log.Put(sLog::Debug,"Graph"
140
// ,sString("sYMark::Boundaries: ")+B.Y.From().Text()+" "+B.Y.To().Text());
104
int sYMark::Distance (sPoint P
145
int sYMark::Distance (rcsIntPoint position
109
return floor(fabs(P.Y-Value())/YPixelValue+0.5);
149
return abs( position.Y - scales.Y.Tr((sPhysValue)(*this)) );
151
return std::numeric_limits<int>::max();
112
156
//------------------------------------------------------------------------------
114
158
sIntervalMark::sIntervalMark (real AFrom ,real ATo)