ILOG logo
KSTEC ȸ¿øÀ¸·Î °¡ÀÔÇϼ¼¿ä¤Ó»õ¼Ò½Ä | ·Î±×ÀÎ
 
title element1
License
- ¶óÀ̼¾½º
- ¶óÀ̼¾½º °ü¸®
Maintenance
Training
FAQ
Q&A

Q & A ... °Ô½ÃÆÇ  (Visualization)


¡Ø ¾È³çÇϽʴϱî..?
    ÀúÈñ KSTECÀÇ Á¦Ç°À̳ª ¼­ºñ½º¿¡ ´ëÇØ ±Ã±ÝÇϽŠÁ¡À̳ª ±â¼úÁö¿øÀ» ¿øÇϽô °í°´´ÔÀº ȸ»ç¸í,
    ºÎ¼­¸í, ¼º¸í, »ç¿ëÁ¦Ç°¸í, Á¦Ç° VERSIONÀ» ¸í½ÃÇÏ¿© Áֽñ⠹ٶø´Ï´Ù.

¡Ø °Ô½ÃÇϽг»¿ë¿¡ ´ëÇØ¼­´Â ½Å¼ÓÇÏ°Ô ´äº¯ÇØ µå¸®°Ú½À´Ï´Ù.
¡Ø ÇØ´çµÇ´Â Á¦Ç°±ºÀ» ¼±ÅÃÇϽŠÈÄ ÇÏ°í ½ÍÀ¸½Å ¸»¾¸À» Àû¾î ÁֽʽÿÀ.

Á¦ ¸ñ
chart scroll
ÀÛ¼ºÀÚ
¹ÚÁ¤È¯
ÀÛ¼ºÀÏ
2001-12-13
Á¶È¸¼ö 923 È¸
÷ºÎÆÄÀÏ Ã·ºÎµÈ ÆÄÀϾøÀ½.

IlvChartContainerRectangle À» ½á¼­ rectangleÀÇ size º¸´Ù Å« íƮ¸¦
½ºÅ©·ÑÇϰíÀÚ ÇÕ´Ï´Ù.

IlvChartContainer¿¡ Â÷Æ®¸¦ add Çϰí XÃà labelÀ» update Çߴµ¥,
¼öÆòÃà ½ºÅ©·Ñ¹ÙÀÇ Å©±â°¡ Áõ°¡µÈ ·¹ÀÌºí°¹¼ö¿¡ µû¶ó Å©±â°¡ ÀûÀýÈ÷
º¯È¯µÇÁö¾Ê°í , ½ºÅ©·Ñµµ ÇÒ¼ö¾øÀ¾´Ï´Ù.

rectangle size º¸´Ù Å« íƮ¸¦ ¼öÆòÀ¸·Î ½ºÅ©·ÑÇÏ´Â ¹æ¹ýÀ» ¾Ë·ÁÁֽʽÿä.

ÀúÀÇ ÄÚµùÀÇ ÀϺκÐÀÔ´Ï´Ù.
void
CEmsPerfPhyData::setupChart()
{

cout << \" setup Chart \" << endl;
tab2 = ( CEmsPerfPhyDataTab2* )(gettab()->getPages()[1])->getView();

cout << \" --------------------1---------------------- \" << endl;
IlvRect size ; // = IlvRect(24,27,732,462) ;

tab2->getsRect()->boundingBox(size);
cout << \" --------------------2---------------------- \" << endl;
chartCtRect = new IlvChartContainerRectangle(getDisplay(), size, size, IlvPoint(0,0),
IlvVertical, (IlvPosition)
(IlvBottom|IlvLeft|IlvRight));
cout << \" --------------------3---------------------- \" << endl;
// Setting Attachments on the Chart Container Rectangle
IlvSetAttachment(chartCtRect, IlvTop, IlvFixedAttach);
IlvSetAttachment(chartCtRect, IlvBottom, IlvFixedAttach);
IlvSetAttachment(chartCtRect, IlvLeft, IlvFixedAttach);
IlvSetAttachment(chartCtRect, IlvRight, IlvFixedAttach);
IlvSetAttachment(chartCtRect, IlvVertical, IlvElasticAttach);
IlvSetAttachment(chartCtRect, IlvHorizontal, IlvElasticAttach);
// adding Chart Container Rectangle
tab2->addObject(chartCtRect);
// X Ãà

cout << \" --------------------4---------------------- \" << endl;
IlvSCChartContainer* chartCt = chartCtRect->getChartContainer();
chartCt->fixOrigin(IlvLeft, size.left());
chartCt->fixOrigin(IlvRight, size.right());

// Setting Attachments on Charts
IlvGraphic* handle = chartCt->getChartsHandle();
IlvSetAttachment(handle, IlvTop, IlvFixedAttach);
IlvSetAttachment(handle, IlvBottom, IlvFixedAttach);
IlvSetAttachment(handle, IlvLeft, IlvFixedAttach);
IlvSetAttachment(handle, IlvRight, IlvFixedAttach);
IlvSetAttachment(handle, IlvVertical, IlvElasticAttach);
IlvSetAttachment(handle, IlvHorizontal, IlvElasticAttach);
/*
// Adding accelerators
chartCt->addAccelerator(ShowSB, IlvKeyDown, \''w\'', 0,
(IlvAny)(IlvUInt)IlvVertical);
chartCt->addAccelerator(ShowSB, IlvKeyDown, \''W\'', 0,
(IlvAny)(IlvUInt)IlvHorizontal);
chartCt->addAccelerator(HideSB, IlvKeyDown, \''h\'', 0,
(IlvAny)(IlvUInt)IlvVertical);
chartCt->addAccelerator(HideSB, IlvKeyDown, \''H\'', 0,
(IlvAny)(IlvUInt)IlvHorizontal);
chartCt->addAccelerator(MoveSB, IlvKeyDown, \''m\'', 0,
(IlvAny)(IlvUInt)IlvVertical);
chartCt->addAccelerator(MoveSB, IlvKeyDown, \''M\'', 0,
(IlvAny)(IlvUInt)IlvHorizontal);
chartCt->addAccelerator(Save, IlvKeyDown, \''S\'', 0,
(IlvAny)chartCtRect);
chartCt->addAccelerator(Duplicate, IlvKeyUp, IlvCtrlChar(\''D\''), 0,
(IlvAny)chartCtRect);
*/

cout << \" ending setup Chart \" << endl;
}

void
CEmsPerfPhyData::addChart(IlvSCChartContainer* container ,IlvChartData* ydata , IlvPosition pos )
{
IlvDisplay* display = container->getDisplay();

IlvChart* chart ;
IlvColor* color ;

// PolylineChart - Right Axis ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
{
container->currentAxis(pos);
chart = new IlvPolylineChart(display, ydata , IlvPoint(0, 0), (IlvFloat)1., (IlvFloat)1.);
color = display->getColor(\"firebrick\");
if (color) chart->setForeground(color);
container->addChart(chart );
// container->fitToContents( );
container->fitChartsToContents();
container->contentsChanged();
container->reDraw();
}
/*
// PolygonChart - Left Axis ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
container->currentAxis(IlvLeft);
IlvChart* chart =
new IlvPolygonChart(display, CreateChartData(25, 100, 40),
IlvPoint(0, 0), (IlvFloat)1., (IlvFloat)1.);
IlvColor* color = display->getColor(\"yellow\");
if (color) chart->setForeground(color);
container->addChart(chart,IlvTrue);

// PolygonChart - Left Axis ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
container->currentAxis(IlvLeft);
chart = new IlvPolygonChart(display, CreateChartData(0, 35, 40),
IlvPoint(0, 0), (IlvFloat)1., (IlvFloat)1.);
color = display->getColor(\"darkseagreen\");
if (color) chart->setForeground(color);
container->addChart(chart);
*/
}

void
CEmsPerfPhyData::selectBtnCB(IlvGraphic* g)
{
const char* className = g->className();
IlvPrint(\" %s : selectBtnCB method ...\",className);


CString portOid ;
CString sdate,edate ;
IlvComboBox* period;

sdate = getsDate();
edate = geteDate();
portOid = getPortId();
period = (IlvScrolledComboBox *)tab1->getObject(\"periodCbx\");

CString where = makeWhere(portOid , sdate ,edate );
int sumbase = period->whichSelected();

/*
** XÃà
*/
CVector timedata = getRecord( ADSLPHYPERF_Time , where );
cout << \" drawing chart --------- 0 \" << endl;
CVector xAxis = getXlabels(sumbase , portOid ,timedata , sdate ,edate );
cout << \" drawing chart --------- 1 \" << endl;

int i ;

char** labels = new char* [xAxis.getSize() ];

CVector temp;
for ( i = 0 ; i < xAxis.getSize() ; ++i )
{
labels[i] = new char[20];

strcpy(labels[i],((CDate &)xAxis[i]).get14String().getString());

}
cout << \" drawing chart --------- 4 \" << endl;

IlvSCChartContainer* chartCt = chartCtRect->getChartContainer();

/*
** YÃà
*/
CVector yData ;
IlvChartData* chartData;

int items = 0 ;
try
{
for ( int i = ADSLPHYPERF_UpDwnCntr ; i < ADSLPHYPERF_DOMAIN_SIZE ; ++i )
{
if ( toggle[i] )
{
items++;
cout << \" drawing chart -------------------- \" << i << endl;
yData = getRecord(i, where );

cout << \" Record size ------ \" << yData.getSize() << endl;
cout << \" drawing chart ------XXXX-------------- \" << i << endl;
chartData = getchartData(sumbase , portOid , xAxis , timedata , yData );
cout << \" drawing chart ------YYYY-------------- \" << i << endl;
addChart(chartCt , chartData , IlvLeft);

}
}
chartCt->getScale(IlvBottom)->setSize((xAxis.getSize() + 1 )*(154+60));
chartCt->getScale(IlvBottom)->setLabels(xAxis.getSize(),(char**)labels);
chartCt->updateScale(IlvBottom);
chartCt->contentsChanged();
chartCt->reDraw();
cout << \" drawing chart --------- X axis \" << endl;
}
catch ( CException& ex)
{
cout << ex << endl ;
}


´äº¯ÇØÁÖ½Ã¸é °í¸¿°ÚÀ¾´Ï´Ù.








°ü·Ã±Û º¸±â
"chart scroll"¿Í(°ú) °ü·ÃµÈ ±ÛÀÌ  1°Ç ÀÖ½À´Ï´Ù.
chart scroll ¹ÚÁ¤È¯ 2001-12-13
[RE] chart scroll ÀÌ¿Á°æ 2001-12-17