RDCol2 SphericalMapping::mapping(const RDMat24 &nodes, const RDCol2 &xieta, int curvedOuter) const { // rotate system such that curvedOuter = 2 const RDMat22 &Q2 = sOrthogQ2[curvedOuter]; const RDMat24 &nodes2 = Q2 * nodes; const RDCol2 &xieta2 = Q2 * xieta; // get r and theta RDMat24 rtheta2; rtheta2.row(0).array() = (nodes2.row(0).array().square() + nodes2.row(1).array().square()).sqrt(); for (int i = 0; i < 4; i++) { rtheta2(1, i) = atan2(nodes2(0, i), nodes2(1, i)); } // copy local variables double r0 = rtheta2(0, Mapping::period0123(curvedOuter - 2)); double r3 = rtheta2(0, Mapping::period0123(curvedOuter + 1)); double t0 = rtheta2(1, Mapping::period0123(curvedOuter - 2)); double t1 = rtheta2(1, Mapping::period0123(curvedOuter - 1)); double t2 = rtheta2(1, Mapping::period0123(curvedOuter - 0)); double t3 = rtheta2(1, Mapping::period0123(curvedOuter + 1)); double xi = xieta2(0); double eta = xieta2(1); XMath::makeClose(t2, t3); XMath::makeClose(t0, t1); // compute in new system RDCol2 sz2; sz2(0) = (1. + eta) * r3 / 2. * sin(((1. - xi) * t3 + (1. + xi) * t2) / 2.) + (1. - eta) * r0 / 2. * sin(((1. - xi) * t0 + (1. + xi) * t1) / 2.); sz2(1) = (1. + eta) * r3 / 2. * cos(((1. - xi) * t3 + (1. + xi) * t2) / 2.) + (1. - eta) * r0 / 2. * cos(((1. - xi) * t0 + (1. + xi) * t1) / 2.); // rotate back return Q2.transpose() * sz2; }
BOOL CSpermView::OnMouseWheel(UINT nFlags, short zDelta, CPoint pt) { // TODO: Add your message handler code here and/or call default CSize sz1=GetTotalSize(); CRect rect; GetClientRect(rect); CSize sz2(rect.Width(),rect.Height()); if(sz1.cy<sz2.cy) return CScrollView::OnMouseWheel(nFlags, zDelta, pt);; SCROLLINFO si; zDelta = -zDelta; GetScrollInfo(SB_VERT,&si); si.nPos += zDelta/12; SetScrollInfo(SB_VERT,&si); CPoint sp=GetScrollPosition(); CRect rc; GetClientRect(rc); CDC* pDC=GetDC(); rc.bottom+=sp.y; rc.right+=sp.x; pDC->SetViewportOrg(-sp); DrawMemDCImage(pDC,rc); ReleaseDC(pDC); return CScrollView::OnMouseWheel(nFlags, zDelta, pt); }
void SizeTest::misc() { Ilwis::Size<double> sz(3.45, 2.67, 8.0); DOTEST( APPROX(sz.linearSize(), 48,0.001), "volume test"); Ilwis::Size<> sz2(200,400, 300); DOTEST(sz2.contains(24,23,67), "valid contains test"); DOTEST(sz2.contains(700,23,67) == false, "valid contains test that fails"); }
Indigo::Render::UILayer::UILayer(Indigo::Render::Window* window, Indigo::UILayer* owner, bool visible, const glm::ivec2& pos, const glm::uvec2& sz) : Indigo::Render::UIGroup(visible,pos,sz), Indigo::Render::Layer(window), m_owner(owner), m_dirty(true) { size(sz); glm::vec2 sz2(sz); m_mvp = glm::ortho(0.f,sz2.x,0.f,sz2.y); }
void Indigo::Render::UILayer::on_size(const glm::uvec2& sz) { if (sz != size()) { size(sz); glm::vec2 sz2(sz); m_mvp = glm::ortho(0.f,sz2.x,0.f,sz2.y); Indigo::logic_pipe()->post(OOBase::make_delegate<OOBase::ThreadLocalAllocator>(m_owner,&Indigo::UILayer::on_layout),sz); } }
Size MenuItem::GetMinSize() const { Size sz1 = GetTextSize(text, font); Size sz2(0, 0); if(accel) { sz2 = GetTextSize(GetKeyDesc(accel), font); sz2.cx += Zx(12); } Size lsz = min(maxiconsize, licon.GetSize()); Size rsz = ricon.GetSize(); return AddFrameSize(Size(max(lsz.cx, leftgap) + sz1.cx + max(sz2.cx, (rsz.cx ? Zx(16) : 0)) + max(rsz.cx, Zx(16)) + textgap + Zx(10), max(max(lsz.cy, rsz.cy) + Zy(4), sz1.cy + Zy(6)))); }
void reserveMatrices(const Vector& sz) { typedef typename Vector::value_type vt; Vector sz2(sz.size()); std::transform(sz.begin(), sz.end(), sz2.begin(), boost::bind(std::multiplies<vt>(), _1, _1)); second_term_.allocate(sz2.begin(), sz2.end()); std::transform(sz.begin(), sz.end(), sz2.begin(), boost::bind(std::multiplies<vt>(), _1, int(dim))); n_.allocate(sz2.begin(), sz2.end()); std::fill(sz2.begin(), sz2.end(), vt(dim)); Kg_.allocate(sz2.begin(), sz2.end()); }
void CDemoView::OnUpdate(CView* pSender, LPARAM lHint, CObject* pHint) { switch (lHint) { case WM_USER_NEWIMAGE: { m_tracker.m_rect = CRect(0,0,0,0); CDemoDoc* pDoc = GetDocument(); CxImage* ima = pDoc->GetImage(); if (ima) { int px=GetScrollPos(SB_HORZ); int py=GetScrollPos(SB_VERT); CSize sz(GetTotalSize()); int x=(int)(ima->GetWidth()*pDoc->GetZoomFactor()); int y=(int)(ima->GetHeight()*pDoc->GetZoomFactor()); SetScrollSizes(MM_TEXT, CSize(x,y)); CSize sz2(GetTotalSize()); CWnd* pFrame=GetParentFrame(); RECT rClient; pFrame->GetClientRect(&rClient); if (sz.cx!=0 && sz.cy!=0){ if (x>rClient.right) SetScrollPos(SB_HORZ,sz2.cx*px/sz.cx); else SetScrollPos(SB_HORZ,0); if (y>rClient.bottom) SetScrollPos(SB_VERT,sz2.cy*py/sz.cy); else SetScrollPos(SB_VERT,0); } if (!(pFrame->IsIconic()||pFrame->IsZoomed())){ RECT rMainCl,rFrame,rMainFr; ((CMainFrame *)(AfxGetApp()->m_pMainWnd))->GetClientRect(&rMainCl); ((CMainFrame *)(AfxGetApp()->m_pMainWnd))->GetWindowRect(&rMainFr); pFrame->GetWindowRect(&rFrame); pFrame->SetWindowPos(0,0,0, (4+rFrame.right-rFrame.left-rClient.right+rClient.left)+ min(rMainCl.right-(rFrame.left-rMainFr.left+12),x), (4+rFrame.bottom-rFrame.top-rClient.bottom+rClient.top)+ min(rMainCl.bottom-(rFrame.top-rMainFr.top+12),y), SWP_NOMOVE|SWP_NOZORDER); //ResizeParentToFit(1); } if (!ima->SelectionIsValid()) KillTimer(1); #ifdef VATI_EXTENSIONS ima->SetJpegQualityF(theApp.m_optJpegQuality); #if CXIMAGE_SUPPORT_JPG ima->SetCodecOption(theApp.m_optJpegOptions,CXIMAGE_FORMAT_JPG); #endif #if CXIMAGE_SUPPORT_RAW ima->SetCodecOption(theApp.m_optRawOptions,CXIMAGE_FORMAT_RAW); #endif #endif CMainFrame* pMain = (CMainFrame*) AfxGetMainWnd(); if (pMain->m_HistoBar.IsWindowVisible()){ pDoc->m_hmax=ima->Histogram(pDoc->m_hr,pDoc->m_hg,pDoc->m_hb,pDoc->m_hgray); pMain->m_HistoBar.Invalidate(); } else { pDoc->m_hmax = 0; } } break; } default: { CDemoDoc* pDoc = GetDocument(); if (pDoc){ CxImage* ima = pDoc->GetImage(); if (ima){ if (pDoc->GetStretchMode()) SetScrollSizes(MM_TEXT, CSize(0,0)); else SetScrollSizes(MM_TEXT,CSize((int)(ima->GetWidth()*pDoc->GetZoomFactor()), (int)(ima->GetHeight()*pDoc->GetZoomFactor()))); } } } } CScrollView::OnUpdate(pSender, lHint, pHint); }
static void test_CSize() { CSize empty; ok(empty.cx == 0, "Expected cx to be 0, was %ld\n", empty.cx); ok(empty.cy == 0, "Expected cy to be 0, was %ld\n", empty.cy); CSize szPointA(10, 25); SIZE sz; sz.cx = 10; sz.cy = 25; CSize szPointB(sz); POINT pt; pt.x = 10; pt.y = 25; CSize szPointC(pt); CPoint ptObject(10, 25); CSize szPointD(ptObject); DWORD dw = MAKELONG(10, 25); CSize szPointE(dw); ok_size(szPointA, szPointB); ok_size(szPointB, szPointC); ok_size(szPointC, szPointD); ok_size(szPointD, szPointE); ptObject = szPointA + pt; CPoint res(20,50); ok_point(ptObject, res); ptObject = szPointA - pt; res = CPoint(0, 0); ok_point(ptObject, res); CSize sz1(135, 135); CSize sz2(135, 135); ok_size(sz1, sz2); sz1 = CSize(222, 222); sz2 = CSize(111, 111); ok(sz1 != sz2, "Wrong size, expected '%s' NOT to equal '%s'\n", wine_dbgstr_size(&sz1), wine_dbgstr_size(&sz2)); sz1 = CSize(100, 100); sz2 = CSize(50, 25); sz1 += sz2; CSize szResult(150, 125); ok_size(sz1, szResult); sz1 = CSize(100, 100); SIZE sz3; sz3.cx = 50; sz3.cy = 25; sz1 += sz3; ok_size(sz1, szResult); sz1 = CSize(100, 100); sz1 -= sz2; szResult = CSize(50, 75); ok_size(sz1, szResult); sz3.cx = 50; sz3.cy = 25; sz1 = CSize(100, 100); sz1 -= sz3; ok_size(sz1, szResult); sz1 = CSize(100, 100); CSize szOut; szOut = sz1 + sz2; szResult = CSize(150, 125); ok_size(szOut, szResult); sz3.cx = 50; sz3.cy = 25; szOut = sz1 + sz3; ok_size(szOut, szResult); szOut = sz1 - sz2; szResult = CSize(50, 75); ok_size(szOut, szResult); sz3.cx = 50; sz3.cy = 25; szOut = sz1 - sz3; ok_size(szOut, szResult); szResult = CSize(-50, -75); szOut = -szOut; ok_size(szOut, szResult); RECT rc = { 1, 2, 3, 4 }; CRect rcres = sz1 + &rc; CRect rcexp(101, 102, 103, 104); ok_rect(rcexp, rcres); rcres = sz1 - &rc; rcexp = CRect(-99, -98, -97, -96); ok_rect(rcexp, rcres); }