영역으로 형상을 선택하고 선택한 형상의 색상을 변경하는 방법을 알아보도록 하겠습니다.
간단히 그림과 코드로 살펴보겠습니다.
형상들을 선택한 후 color dialog에서 변경할 색상을 선택한 후에 선택한 형상의 색상을 변경합니다.
간단히 그림과 코드로 살펴보겠습니다.
형상들을 선택한 후 color dialog에서 변경할 색상을 선택한 후에 선택한 형상의 색상을 변경합니다.
void CLibMesh2dTestCaseDoc::InputEvent(const Standard_Integer cXmin , const Standard_Integer cYmin , const Standard_Integer cXmax , const Standard_Integer cYmax , const Handle(V3d_View)& aView ) { Quantity_Color CSFColor ; COLORREF MSColor ; m_hAISContext->Select(cXmin , cYmin , cXmax , cYmax , aView); m_hAISContext->InitSelected(); if (m_hAISContext->MoreSelected()) { m_hAISContext->InitCurrent(); Handle_AIS_InteractiveObject Current = m_hAISContext->Current() ; if ( Current->HasColor () ) { CSFColor = m_hAISContext->Color(Current); MSColor = RGB (CSFColor.Red()*255.,CSFColor.Green()*255.,CSFColor.Blue()*255.); } else { MSColor = RGB ( 255,255,255 ) ; } CColorDialog dlgColor(MSColor); if (IDOK == dlgColor.DoModal()) { MSColor = dlgColor.GetColor(); CSFColor = Quantity_Color (GetRValue(MSColor)/255. , GetGValue(MSColor)/255. , GetBValue(MSColor)/255. , Quantity_TOC_RGB); for (;m_hAISContext->MoreCurrent ();m_hAISContext->NextCurrent ()) m_hAISContext->SetColor(m_hAISContext->Current() , CSFColor); } }
댓글
댓글 쓰기