这篇教程C++ xform函数代码示例写得很实用,希望能帮到您。
本文整理汇总了C++中xform函数的典型用法代码示例。如果您正苦于以下问题:C++ xform函数的具体用法?C++ xform怎么用?C++ xform使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。 在下文中一共展示了xform函数的28个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。 示例1: isnanvoid Graph::plot(QPainter& painter, int funcId) { if (!funcs.isValid(funcId)) return; QPen curvepen; QColor color = funcs.getColor(funcId); curvepen.setColor(color); if (funcs.isSelected(funcId)) curvepen.setWidth(4); else curvepen.setWidth(2); float xold = xmin; QPainterPath path; bool first = false; float yold = funcs.eval(funcId, xold); float xd, yd; const bool error = false; // isnan(yold); xform(xold, yold, xd, yd); if (error) first = true; else { path.moveTo(xd, yd); first = false; } float x_per_pixel = (xmax - xmin) / width(), y_per_pixel = (ymax - ymin) / height(); int plotted = 0; float xrate = x_per_pixel * 1; // fedisableexcept(FE_ALL_EXCEPT); while (xold < xmax) { bool disjoint = false; float x = xold + xrate; float y = funcs.eval(funcId, x); if (!error) { if (fabs(y - yold) > y_per_pixel * 100 && xrate > .1 * x_per_pixel) { xrate /= 2; continue; } if (fabs(y - yold) < y_per_pixel * 5 && xrate < x_per_pixel) { xrate *= 2; } float xd, yd; xform(x, y, xd, yd); if (first || y > ymax || y < ymin) { path.moveTo(xd, yd); disjoint = true; } else path.lineTo(xd, yd); } first = false; xold = x; yold = y; plotted++; } painter.strokePath(path, curvepen); // std::cerr<<"Plottted "<<plotted<<std::endl;}
开发者ID:davvid,项目名称:SeExpr,代码行数:60,
示例2: Racketbool Game::InitializeUniverse() { bool _ok = true; if (_ok) { delete racket_; racket_ = new Racket(GetResourceManager(), "racket", ui_manager_); AddContextObject(racket_, cure::kNetworkObjectLocalOnly, 0); _ok = (racket_ != 0); deb_assert(_ok); if (_ok) { racket_->SetInitialTransform(xform(quat(), vec3(0, 0, 0))); racket_->EnableRootShadow(false); racket_->StartLoading(); } } if (_ok) { delete ball_; ball_ = new Ball(GetResourceManager(), "ball", ui_manager_); AddContextObject(ball_, cure::kNetworkObjectLocalOnly, 0); _ok = (ball_ != 0); deb_assert(_ok); if (_ok) { ball_->SetInitialTransform(xform(quat(), vec3(0, 0, 0.4f))); ball_->EnableRootShadow(false); ball_->StartLoading(); } } return _ok;}
开发者ID:highfestiva,项目名称:life,代码行数:28,
示例3: xformbool GcBaseView::twoFingersMove(const MgMotion& motion){ if (!_zoomEnabled) { return false; } if (motion.gestureState <= kMgGestureBegan) { _lastScale = xform()->getZoomValue(_lastCenter); } else if (motion.gestureState == kMgGestureMoved && motion.startPt != motion.startPt2 && motion.point != motion.point2) { // 双指变单指则忽略移动 Point2d at((motion.startPt + motion.startPt2) / 2); Point2d pt((motion.point + motion.point2) / 2); float d1 = motion.point.distanceTo(motion.point2); float d0 = motion.startPt.distanceTo(motion.startPt2); float scale = d1 / d0; xform()->zoom(_lastCenter, _lastScale); // 先恢复 xform()->zoomByFactor(scale - 1, &at); // 以起始点为中心放缩显示 xform()->zoomPan(pt.x - at.x, pt.y - at.y); // 平移到当前点 _zooming = true; cmdView()->regenAll(false); } else if (_zooming) { _zooming = false; cmdView()->regenAll(false); } return true;}
开发者ID:wangzhengnan,项目名称:vgcore,代码行数:31,
示例4: GIFsetClip/* * Set the clipping rectangle in an output GIF file. */ intGIFsetClip(Metafile *mf, int num, Glimit *rect){ mf_cgmo *cgmo = mf->cgmo; GIFmetafile *meta = find_meta(cgmo); int x1,y1,x2,y2; xform(meta, rect->xmin, rect->ymin, &x1, &y1); xform(meta, rect->xmax, rect->ymax, &x2, &y2); gdSetClip(meta->image, x1,y1,x2,y2); return OK;}
开发者ID:NOAA-PMEL,项目名称:Ferret,代码行数:15,
示例5: formatvoid Graph::drawY(QPainter& painter, int power, bool label) { QString format("%1"); float delta = pow(logBase, power - 1) / divs; float yline = ceil(ymin / delta) * delta; for (; yline < ymax; yline += delta) { float x1, x2, y1, y2; xform(xmin, yline, x1, y1); xform(xmax, yline, x2, y2); if (label) { painter.drawText(QPoint(x1 + 3, y1 - 4), format.arg(yline)); } else { painter.drawLine(x1, y1, x2, y2); } }}
开发者ID:davvid,项目名称:SeExpr,代码行数:15,
示例6: xform void Polyhedron::transform(const T &xform) { for (size_t i = 0; i < vertices.size(); i++) { vertices[i].v = xform(vertices[i].v); } faceRecalc(); init(); }
开发者ID:caomw,项目名称:sketch-system-with-third-party-libs,代码行数:7,
示例7: xformvoid Projectile::interpolateTick(F32 delta){ Parent::interpolateTick(delta); if( mHasExploded ) return; Point3F interpPos = mCurrDeltaBase + mCurrBackDelta * delta; Point3F dir = mCurrVelocity; if(dir.isZero()) dir.set(0,0,1); else dir.normalize(); MatrixF xform(true); xform = MathUtils::createOrientFromDir(dir); xform.setPosition(interpPos); setRenderTransform(xform); // fade out the projectile image S32 time = (S32)(mCurrTick - delta); if(time > mDataBlock->fadeDelay) { F32 fade = F32(time - mDataBlock->fadeDelay); mFadeValue = 1.0 - (fade / F32(mDataBlock->lifetime)); } else mFadeValue = 1.0; updateSound();}
开发者ID:AlkexGas,项目名称:Torque3D,代码行数:31,
示例8: initial_rectvoidCacheDrivenTask::process( PageInfo const& page_info, AbstractFilterDataCollector* collector){ QRectF const initial_rect(QPointF(0.0, 0.0), page_info.metadata().size()); ImageTransformation xform(initial_rect, page_info.metadata().dpi()); xform.setPreRotation(m_ptrSettings->getRotationFor(page_info.imageId())); if (PageOrientationCollector* col = dynamic_cast<PageOrientationCollector*>(collector)) { col->process(xform.preRotation()); } if (m_ptrNextTask) { m_ptrNextTask->process(page_info, collector, xform); return; } if (ThumbnailCollector* thumb_col = dynamic_cast<ThumbnailCollector*>(collector)) { thumb_col->processThumbnail( std::auto_ptr<QGraphicsItem>( new ThumbnailBase( thumb_col->thumbnailCache(), thumb_col->maxLogicalThumbSize(), page_info.imageId(), xform ) ) ); }}
开发者ID:4sp1r3,项目名称:scantailor,代码行数:29,
示例9: xform/* ******************************************************************************* Function Name : instanceCube()** Description :** Input Arguments : GU_Detail *inst_gdp, GU_Detail *mb_gdp** Return Value : int****************************************************************************** */int VRAY_clusterThis::instanceCube(GU_Detail * inst_gdp, GU_Detail * mb_gdp){#ifdef DEBUG std::cout << "VRAY_clusterThis::instanceCube()" << std::endl;#endif GEO_Primitive * myCube; GEO_Point * ppt; UT_Matrix4 xform(1.0);// UT_XformOrder xformOrder(UT_XformOrder::TRS, UT_XformOrder::XYZ); UT_Matrix3 rot_xform(1.0);// UT_Vector3 myDir = myPointAttributes.N; UT_Vector3 myUp = UT_Vector3(0,1,0); rot_xform.orient(myPointAttributes.N, myUp); xform = rot_xform; myCube = (GEO_Primitive *) inst_gdp->cube( myPointAttributes.myNewPos[0] - ((mySize[0] * myPointAttributes.pscale) / 2), myPointAttributes.myNewPos[0] + ((mySize[0] * myPointAttributes.pscale) / 2), myPointAttributes.myNewPos[1] - ((mySize[1] * myPointAttributes.pscale) / 2), myPointAttributes.myNewPos[1] + ((mySize[1] * myPointAttributes.pscale) / 2), myPointAttributes.myNewPos[2] - ((mySize[2] * myPointAttributes.pscale) / 2), myPointAttributes.myNewPos[2] + ((mySize[2] * myPointAttributes.pscale) / 2)); for(int i=0; i < myCube->getVertexCount(); i++) { ppt = myCube->getVertexElement(i).getPt(); UT_Vector4 P = ppt->getPos(); P *= xform; ppt->setPos(P); } VRAY_clusterThis::setInstanceAttributes(myCube); if(myDoMotionBlur == CLUSTER_MB_DEFORMATION) { myCube = (GEO_Primitive *) mb_gdp->cube(myPointAttributes.myMBPos[0] - ((mySize[0] * myPointAttributes.pscale) / 2), myPointAttributes.myMBPos[0] + ((mySize[0] * myPointAttributes.pscale) / 2), myPointAttributes.myMBPos[1] - ((mySize[1] * myPointAttributes.pscale) / 2), myPointAttributes.myMBPos[1] + ((mySize[1] * myPointAttributes.pscale) / 2), myPointAttributes.myMBPos[2] - ((mySize[2] * myPointAttributes.pscale) / 2), myPointAttributes.myMBPos[2] + ((mySize[2] * myPointAttributes.pscale) / 2)); for(int i=0; i < myCube->getVertexCount(); i++) { ppt = myCube->getVertexElement(i).getPt(); UT_Vector4 P = ppt->getPos(); P *= xform; ppt->setPos(P); } VRAY_clusterThis::setInstanceAttributes(myCube); } if(myCVEX_Exec) VRAY_clusterThis::runCVEX(inst_gdp, mb_gdp, myCVEXFname, CLUSTER_CVEX_POINT); if(myCVEX_Exec_prim) VRAY_clusterThis::runCVEX(inst_gdp, mb_gdp, myCVEXFname_prim, CLUSTER_CVEX_PRIM); return 0;}
开发者ID:bxyldy,项目名称:clusterThis,代码行数:70,
示例10: transform_seq_set_transform void transform_seq_set_transform(TransformSequence* seq, const double time, const UnalignedTransformd44& transform) { Transformd xform(transform.get_local_to_parent().as_foundation_matrix(), transform.get_parent_to_local().as_foundation_matrix()); seq->set_transform(time, xform); }
开发者ID:EgoIncarnate,项目名称:appleseed,代码行数:7,
示例11: xformxyMultimap_t baseXYData::GetCustom(wxString Xformula, wxString Yformula){ xyMultimap_t map; double x,y; xyMultimap_t::iterator it; gpFormula xform( std::string( Xformula.mb_str()) ); gpFormula yform( std::string( Yformula.mb_str()) ); for(it=m_data.begin(); it!= m_data.end(); it++) { if(Xformula.IsEmpty())x=it->first; else{ xform.AddVariable("X", it->first); xform.AddVariable("Y", it->second); x = xform; } if(Yformula.IsEmpty())y=it->second; else{ yform.AddVariable("X", it->first); yform.AddVariable("Y", it->second); y = yform; } map.insert( pair<double, double>( x, y ) ); } return map;}
开发者ID:AndreasAZiegler,项目名称:gpPanel,代码行数:26,
示例12: convunsigned __int64 PlanEntryModelManager::GetMostRecentEntryTimeByAttribute(const TCHAR *pAttr, const TCHAR *pValue){ unsigned __int64 id = 0; StringBuffer conv(32); StringBuffer sb(_T("<?xml version=/"1.0/" encoding=/"UTF-8/" ?>")); sb.append(_T("<xsl:stylesheet version=/"1.0/" xmlns:xsl=/"http://www.w3.org/1999/XSL/Transform/" xmlns:msxsl=/"urn:schemas-microsoft-com:xslt/">")); sb.append(_T("<xsl:output method=/"text/" />")); sb.append(_T("<xsl:template match=/"*/">")); sb.append(_T("<xsl:variable name=/"entries/">")); sb.append(_T("<xsl:for-each select=/"timeentry[@")); sb.append(pAttr); sb.append(_T("='")); sb.append(pValue); sb.append(_T("']/"><xsl:sort select=/"@start/" data-type=/"text/" order=/"descending/" />")); sb.append(_T("<entry><xsl:value-of select=/"@start/" /></entry>")); sb.append(_T("</xsl:for-each></xsl:variable>")); sb.append(_T("<xsl:value-of select=/"msxsl:node-set($entries)/entry[1]/" />")); sb.append(_T("</xsl:template></xsl:stylesheet>")); BSTR xslt = SysAllocString(sb); XMLTransform xform(xslt); SysFreeString(xslt); xslt = 0; HRESULT hr = m_pRoot->transformNode(xform.m_pStyleSheet, &xslt); if(hr == S_OK && xslt) { id = ModelUtils::fromHexString(xslt, _tcslen(xslt)); SysFreeString(xslt); } else { DebugBreak(); } return id;}
开发者ID:jaylauffer,项目名称:loadngo,代码行数:35,
示例13: update_positionint SKY_BOX::DrawGradient(CVIEWptr &v){ //DebugBreak(); update_position(); //center at the eye position Patch* p = get_patch(); assert(p); Skybox_Texture* tex = get_tex<Skybox_Texture>(p); assert(tex); glPushAttrib(GL_ENABLE_BIT | GL_CURRENT_BIT ); glEnable(GL_DEPTH_TEST); // set xform: glMatrixMode(GL_MODELVIEW); glPushMatrix(); glMultMatrixd(xform().transpose().matrix()); // draw the mesh normally: int ret= tex->draw(v); glMatrixMode(GL_MODELVIEW); glPopMatrix(); glPopAttrib(); GL_VIEW_PRINT_GL_ERRORS("(regular) : "); return ret;}
开发者ID:QuLogic,项目名称:jot-lib,代码行数:32,
示例14: xformvoidTestLocalXform::testIOHDF5(){ USING_NK_NS USING_NKHIVE_NS LocalXform xform(vec3d(0.1, 0.2, 0.5)); LocalXform xform2; CPPUNIT_ASSERT(xform != xform2); remove("testingHDF5.hv"); VolumeFile file("testingHDF5.hv", VoidFile::WRITE_TRUNC); HDF5Group root_group; root_group.open(file.m_id, NK_NS::String("/")); HDF5Id root_group_id = root_group.id(); xform.write(root_group_id); file.close(); VolumeFile file2("testingHDF5.hv", VoidFile::READ_ONLY); HDF5Group root_group2; root_group2.open(file2.m_id, NK_NS::String("/")); HDF5Id root_group_id2 = root_group2.id(); xform2.read(root_group_id2); CPPUNIT_ASSERT(xform == xform2); file2.close(); remove("testingHDF5.hv");}
开发者ID:papaver,项目名称:nkhive,代码行数:34,
示例15: ON_ERRORbool ON_BezierCageMorph::Create( ON_3dPoint P0, ON_3dPoint P1, ON_3dPoint P2, ON_3dPoint P3, int point_countX, int point_countY, int point_countZ ){ if ( point_countX < 2 || point_countY < 2 || point_countZ < 2 || !P0.IsValid() || !P1.IsValid() || !P2.IsValid() || !P3.IsValid() ) { ON_ERROR("ON_BezierCageMorph::Create - invalid input"); } m_bValid = false; ON_3dVector X = P1-P0; ON_3dVector Y = P2-P0; ON_3dVector Z = P3-P0; ON_Xform xform(1.0); xform[0][0] = X.x; xform[1][0] = X.y; xform[2][0] = X.z; xform[0][1] = Y.x; xform[1][1] = Y.y; xform[2][1] = Y.z; xform[0][2] = Z.x; xform[1][2] = Z.y; xform[2][2] = Z.z; xform[0][3] = P0.x; xform[1][3] = P0.y; xform[2][3] = P0.z; double min_pivot = 0.0; m_bValid = xform.Invert(&min_pivot); if (m_bValid) { ON_3dPoint box_corners[8]; box_corners[0] = P0; box_corners[1] = P1; box_corners[2] = P0+X+Y; box_corners[3] = P2; box_corners[4] = P3; box_corners[5] = P3+X; box_corners[6] = P3+X+Y; box_corners[7] = P3+Y; m_bValid = m_rst2xyz.Create(box_corners,point_countX,point_countY,point_countZ); m_xyz2rst = xform; } else { ON_ERROR("ON_BezierCageMorph::Create - invalid input - P0,P1,P2,P3 are coplanar"); m_rst2xyz.Destroy(); } return m_bValid;}
开发者ID:raazui,项目名称:3D-Surface-Reconstruction,代码行数:59,
示例16: frustum//------------------------------------------------------------------------------//void GLPickingSelect::processTriangles( const SubNode::Ptr rootNode, const double seconds, const size_t numTriangles, VBOProxy::VBOMode vboMode){ const unsigned int bufferSize = (unsigned int)std::min(numTriangles,size_t(100000)); boost::shared_array<GLuint>buffer (new GLuint[bufferSize*4]); M3dView view = fSelectInfo.view(); MMatrix projMatrix; view.projectionMatrix(projMatrix); MMatrix modelViewMatrix; view.modelViewMatrix(modelViewMatrix); unsigned int x, y, w, h; view.viewport(x, y, w, h); double viewportX = static_cast<int>(x); // can be less than 0 double viewportY = static_cast<int>(y); // can be less than 0 double viewportW = w; double viewportH = h; fSelectInfo.selectRect(x, y, w, h); double selectX = static_cast<int>(x); // can be less than 0 double selectY = static_cast<int>(y); // can be less than 0 double selectW = w; double selectH = h; MMatrix selectAdjustMatrix; selectAdjustMatrix[0][0] = viewportW / selectW; selectAdjustMatrix[1][1] = viewportH / selectH; selectAdjustMatrix[3][0] = ((viewportX + viewportW/2.0) - (selectX + selectW/2.0)) / viewportW * 2.0 * selectAdjustMatrix[0][0]; selectAdjustMatrix[3][1] = ((viewportY + viewportH/2.0) - (selectY + selectH/2.0)) / viewportH * 2.0 * selectAdjustMatrix[1][1]; MMatrix localToPort = modelViewMatrix * projMatrix * selectAdjustMatrix; view.beginSelect(buffer.get(), bufferSize*4); view.pushName(0); { Frustum frustum(localToPort.inverse()); MMatrix xform(modelViewMatrix); DrawShadedState state(frustum, seconds, vboMode); DrawShadedTraversal traveral(state, xform, false, Frustum::kUnknown); rootNode->accept(traveral); } view.popName(); int nbPick = view.endSelect(); if (nbPick > 0) { unsigned int Zdepth = closestElem(nbPick, buffer.get()); float depth = float(Zdepth)/MAX_HW_DEPTH_VALUE; fMinZ = std::min(depth,fMinZ); }}
开发者ID:BigRoy,项目名称:Maya-devkit,代码行数:61,
示例17: vec3bool Game::Render() { quat orientation; orientation.RotateAroundOwnX(-PIF/5); ui_manager_->SetCameraPosition(xform(orientation, vec3(0, -0.4f, 0.6f))); const PixelRect full_rect(0, 0, ui_manager_->GetCanvas()->GetWidth(), ui_manager_->GetCanvas()->GetHeight()); ui_manager_->Render(full_rect); return true;}
开发者ID:highfestiva,项目名称:life,代码行数:8,
示例18: xformint CameraMatrix::get_pixels_per_meter(int p_for_pixel_width) const { Vector3 result = xform(Vector3(1,0,-1)); return int((result.x * 0.5 + 0.5) * p_for_pixel_width);}
开发者ID:lonesurvivor,项目名称:godot,代码行数:8,
示例19: xfmvoid CloudLayer::renderObject( ObjectRenderInst *ri, SceneRenderState *state, BaseMatInstance *mi ){ GFXTransformSaver saver; const Point3F &camPos = state->getCameraPosition(); MatrixF xfm(true); xfm.setPosition(camPos); GFX->multWorld(xfm); if ( state->isReflectPass() ) GFX->setProjectionMatrix( state->getSceneManager()->getNonClipProjection() ); GFX->setShader( mShader ); GFX->setShaderConstBuffer( mShaderConsts ); GFX->setStateBlock( mStateblock ); // Set all the shader consts... MatrixF xform(GFX->getProjectionMatrix()); xform *= GFX->getViewMatrix(); xform *= GFX->getWorldMatrix(); mShaderConsts->setSafe( mModelViewProjSC, xform ); mShaderConsts->setSafe( mEyePosWorldSC, camPos ); LightInfo *lightinfo = LIGHTMGR->getSpecialLight(LightManager::slSunLightType); const ColorF &sunlight = state->getAmbientLightColor(); Point3F ambientColor( sunlight.red, sunlight.green, sunlight.blue ); mShaderConsts->setSafe( mAmbientColorSC, ambientColor ); const ColorF &sunColor = lightinfo->getColor(); Point3F data( sunColor.red, sunColor.green, sunColor.blue ); mShaderConsts->setSafe( mSunColorSC, data ); mShaderConsts->setSafe( mSunVecSC, lightinfo->getDirection() ); for ( U32 i = 0; i < TEX_COUNT; i++ ) mShaderConsts->setSafe( mTexOffsetSC[i], mTexOffset[i] ); Point3F scale( mTexScale[0], mTexScale[1], mTexScale[2] ); mShaderConsts->setSafe( mTexScaleSC, scale ); Point3F color; color.set( mBaseColor.red, mBaseColor.green, mBaseColor.blue ); mShaderConsts->setSafe( mBaseColorSC, color ); mShaderConsts->setSafe( mCoverageSC, mCoverage ); mShaderConsts->setSafe( mExposureSC, mExposure ); GFX->setTexture( mNormalHeightMapSC->getSamplerRegister(), mTexture ); GFX->setVertexBuffer( mVB ); GFX->setPrimitiveBuffer( mPB ); GFX->drawIndexedPrimitive( GFXTriangleList, 0, 0, smVertCount, 0, smTriangleCount );}
开发者ID:practicing01,项目名称:Torque3D,代码行数:58,
示例20: xformOrder/* ******************************************************************************* Function Name : instanceGrid()** Description : Instance a grid** Input Arguments : GU_Detail *inst_gdp, GU_Detail *mb_gdp** Return Value : int****************************************************************************** */int VRAY_clusterThis::instanceGrid(GU_Detail * inst_gdp, GU_Detail * mb_gdp){#ifdef DEBUG std::cout << "VRAY_clusterThis::instanceGrid()" << std::endl;#endif GEO_Primitive * myGrid; GU_GridParms grid_parms; UT_XformOrder xformOrder(UT_XformOrder::TRS, UT_XformOrder::XYZ); UT_Matrix4 xform(1.0); xform.rotate(myPointAttributes.N[0], myPointAttributes.N[1], myPointAttributes.N[2], xformOrder); grid_parms.rows = 2; grid_parms.cols = 2; grid_parms.xsize = mySize[0] * myPointAttributes.pscale; grid_parms.ysize = mySize[1] * myPointAttributes.pscale; grid_parms.xcenter = myPointAttributes.myNewPos[0]; grid_parms.ycenter = myPointAttributes.myNewPos[1]; grid_parms.zcenter = myPointAttributes.myNewPos[2]; grid_parms.plane = GU_PLANE_XY; myGrid = inst_gdp->buildGrid(grid_parms, GU_GRID_POLY); for(int i = 0; i < myGrid->getVertexCount(); i++) { GEO_Point * ppt = myGrid->getVertexElement(i).getPt(); UT_Vector4 P = ppt->getPos(); P *= xform; ppt->setPos(P); } VRAY_clusterThis::setInstanceAttributes(myGrid); if(myDoMotionBlur == CLUSTER_MB_DEFORMATION) { grid_parms.xcenter = myPointAttributes.myMBPos[0]; grid_parms.ycenter = myPointAttributes.myMBPos[1]; grid_parms.zcenter = myPointAttributes.myMBPos[2]; myGrid = mb_gdp->buildGrid(grid_parms, GU_GRID_POLY); for(int i = 0; i < myGrid->getVertexCount(); i++) { GEO_Point * ppt = myGrid->getVertexElement(i).getPt(); UT_Vector4 P = ppt->getPos(); P *= xform; ppt->setPos(P); } VRAY_clusterThis::setInstanceAttributes(myGrid); } if(myCVEX_Exec) VRAY_clusterThis::runCVEX(inst_gdp, mb_gdp, myCVEXFname, CLUSTER_CVEX_POINT); if(myCVEX_Exec_prim) VRAY_clusterThis::runCVEX(inst_gdp, mb_gdp, myCVEXFname_prim, CLUSTER_CVEX_PRIM); return 0;}
开发者ID:dperi,项目名称:clusterThis,代码行数:67,
示例21: set_xformvoid SKY_BOX::update_position() //centers the sky box around the camera{ Wpt eye = VIEW::eye(); if (eye.dist_sqrd(xform().origin()) > 0) { //only update when really needed set_xform(Wtransf(eye)); err_adv(debug, "SKY_BOX::update_position: updated skybox"); }}
开发者ID:QuLogic,项目名称:jot-lib,代码行数:9,
示例22: xformSTDMETHODIMP CSubPicAllocatorPresenterImpl::SetVideoAngle(Vector v){ XForm xform(Ray(Vector(), v), Vector(1, 1, 1), false); if (m_xform != xform) { m_xform = xform; Paint(false); return S_OK; } return S_FALSE;}
开发者ID:JanChou,项目名称:mpc-hc,代码行数:10,
示例23: xformvoid bt_soft_body::set_transform(vec3f const &position, quatf const &rotation) { vec3f tp = position; quatf tr = rotation; btTransform xform(btQuaternion(tr[1], tr[2], tr[3], tr[0]), btVector3(tp[0], tp[1], tp[2])); // m_body->setWorldTransform(xform); m_body->transform(xform); }
开发者ID:benelot,项目名称:dynamica,代码行数:10,
示例24: transform_shapeyo_shapetransform_shape(yo_shape shape, ym_vec3f pos, ym_vec3f rot, ym_vec3f s) { ym_mat4f xf = xform(pos, rot, s); for (int i = 0; i < shape.nverts; i++) { ym_vec3f* pos = (ym_vec3f*)shape.pos + i; *pos = ym_transform_point3f(xf, *pos); ym_vec3f* norm = (ym_vec3f*)shape.norm + i; *norm = ym_transform_direction3f(xf, *norm); } return shape;}
开发者ID:cafeinecake,项目名称:yocto-gl,代码行数:11,
示例25: ERR_EXPLAINvoid CanvasItem::draw_set_transform(const Point2& p_offset, float p_rot, const Size2& p_scale) { if (!drawing) { ERR_EXPLAIN("Drawing is only allowed inside NOTIFICATION_DRAW, _draw() function or 'draw' signal."); ERR_FAIL(); } Matrix32 xform(p_rot,p_offset); xform.scale_basis(p_scale); VisualServer::get_singleton()->canvas_item_set_transform(canvas_item,xform);}
开发者ID:AMG194,项目名称:godot,代码行数:11,
示例26: xformbool ON_Plane::SwapCoordinates( int i, int j ){ bool rc = false; if ( 0 <= i && i < 3 && 0 <= j && j < 3 ) { ON_Xform xform(1); xform[i][i] = 0.0; xform[j][j] = 0.0; xform[i][j] = 1.0; xform[j][i] = 1.0; rc = Transform(xform); } return rc;}
开发者ID:jl2,项目名称:ONView,代码行数:13,
示例27: persp/* * generate a transformation that maps the frustum with apex at the origin, * apex angle=fov and clipping planes y=n and y=f into the double-unit cube. * plane y=n maps to y'=-1, y=f maps to y'=1 */int persp(Space *t, double fov, double n, double f){ Matrix m; double z; if(n<=0 || f<=n || fov<=0 || 180<=fov) /* really need f!=n && sin(v)!=0 */ return -1; z=1/tan(radians(fov)/2); m[0][0]=z; m[0][1]=0; m[0][2]=0; m[0][3]=0; m[1][0]=0; m[1][1]=(f+n)/(f-n); m[1][2]=0; m[1][3]=f*(1-m[1][1]); m[2][0]=0; m[2][1]=0; m[2][2]=z; m[2][3]=0; m[3][0]=0; m[3][1]=1; m[3][2]=0; m[3][3]=0; xform(t, m); return 0;}
开发者ID:00001,项目名称:plan9port,代码行数:18,
示例28: moveActionsInView Vector2d moveActionsInView(Box2d& rect) { Vector2d off; Box2d viewrect(0.f, 0.f, (float)xform()->getWidth(), (float)xform()->getHeight()); if (!rect.isEmpty() && !viewrect.contains(rect)) { if (rect.xmin < 0) { off.x = -rect.xmin; } else if (rect.xmax > viewrect.xmax) { off.x = viewrect.xmax - rect.xmax; } if (rect.ymin < 0) { off.y = -rect.ymin; } else if (rect.ymax > viewrect.ymax) { off.y = viewrect.ymax - rect.ymax; } } return off; }
开发者ID:arthur-zhang,项目名称:touchvg,代码行数:23,
注:本文中的xform函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 C++ xfree函数代码示例 C++ xfopen函数代码示例 |