m_MinusOneBasedX(
false),
56m_MinusOneBasedY(
false),
57m_AutoStepUpdate(
true),
59m_Start(0.0), m_Finish(0.0),
106 if(bInteger &&
m_Step< 1.0)
133 doubleRange = MaxV - MinV;
134 doublelogRange =
log10(Range);
135logRange = ceil(logRange) - 1;
136 doubleStep = pow(10.0, logRange);
139 doubleBaseStep = Step;
140 doublenTicks = Range / BaseStep;
145nTicks = Range / BaseStep;
154V = floor(V / Step) * Step;
158V = ceil(V / Step) * Step;
168 if((BaseStep >= MinStep && BaseStep <= MaxStep) || (MinStep == MaxStep))
172 doublePower =
log10(BaseStep);
173 double P= ceil(Power) -1;
174 doublepow10P = pow(10.0,
P);
175 double M= BaseStep / pow10P;
181 intoldK = 1, K = 1, Index = 0;
183 if(BaseStep < MinStep)
185 doubleminK = MinStep / pow10P;
191K = oldK = oldK * 10;
195BaseStep = pow10P * K;
196}
else if(BaseStep > MaxStep) {
198 doublemaxK = pow10P / MaxStep;
204K = oldK = oldK * 10;
208BaseStep = pow10P / K;
215: m_bCentering(
false),
216m_HorzColor(0.8f, 0.8f, 0.8f),
217m_VertColor(0.8f, 0.8f, 0.8f),
218m_ShowHorzGrid(
true),
219m_ShowVertGrid(
true)
238 doublevpBottom = rcVP.
Bottom();
239 doublevpTop = rcVP.
Top();
240 doublevpLeft = rcVP.
Left();
241 doublevpRight = rcVP.
Right();
250gl.
Begin(GL_LINES);
254 intvpX = pGraphPane->
ProjectX(X);
255 if(vpX >= vpLeft && vpX <= vpRight) {
266gl.
Begin(GL_LINES);
270 intvpY = pGraphPane->
ProjectY(Y);
271 if(vpY >= vpBottom && vpY <= vpTop) {
#define ITERATE(Type, Var, Cont)
ITERATE macro to sequence through container elements.
void Render(CGlPane *pAreaPane, CGlPane *pPane, CRegularGridGen *pGenerator) const
bool m_AutoStepUpdate
Automatic step generation.
static void RoundRangeToStep(double &Start, double &Finish, double Step)
static double SelectScreenStep(double BaseStep, double MinStep, double MaxStep)
static double SelectBaseStep(double MinV, double MaxV)
void GenerateGrid(CGlPane *pPane, bool bHorz)
iteration interface.
virtual ~CRegularGridGen()
static const int ms_StepK[]
bool m_bHorz
Generation context.
virtual void Begin(GLenum mode)=0
Start rendering.
TModelUnit UnProjectWidth(TVPUnit vp_w) const
TVPUnit ProjectX(TModelUnit m_x) const
IRender & GetGl()
convenience function for getting current render manager
void Vertex2d(GLdouble x, GLdouble y)
TVPRect & GetViewport(void)
TVPUnit ProjectY(TModelUnit m_y) const
virtual void End()=0
Finish rendering (create buffer and send to renderer)
TModelUnit UnProjectHeight(TVPUnit vp_h) const
TModelRect & GetVisibleRect(void)
virtual void LineWidth(GLfloat w)=0
Set line width for drawing: glLineWidth()
virtual void ColorC(const CRgbaColor &c)=0
Set current color (glColor{3,4}{f,d}{v,})
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
#define DEF_MAX_CELL_SIZE
#define DEF_MIN_CELL_SIZE
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4