• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C++ c2函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了C++中c2函数的典型用法代码示例。如果您正苦于以下问题:C++ c2函数的具体用法?C++ c2怎么用?C++ c2使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。



在下文中一共展示了c2函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: main

int main ()
{
  try 
  {
    saga::session s;

    saga::context c1;
    saga::context c0;

    c1.set_attribute ("testkey", "testval 1");
    c0.set_attribute ("testkey", "testval 2");

    saga::context c2 (c1);
    saga::context c3 = c1;
    saga::context c4 = c0; c4 = c1;


    std::cout << "id  0 : " << c0.get_id () << std::endl;
    std::cout << "id  1 : " << c1.get_id () << std::endl;
    std::cout << "id  2 : " << c2.get_id () << std::endl;
    std::cout << "id  3 : " << c3.get_id () << std::endl;
    std::cout << "id  4 : " << c4.get_id () << std::endl;

    std::cout << "val 0 : " << c0.get_attribute ("testkey") << std::endl;
    std::cout << "val 1 : " << c1.get_attribute ("testkey") << std::endl;
    std::cout << "val 2 : " << c2.get_attribute ("testkey") << std::endl;
    std::cout << "val 3 : " << c3.get_attribute ("testkey") << std::endl;
    std::cout << "val 4 : " << c4.get_attribute ("testkey") << std::endl;

    saga::file f;
  }
  catch ( const saga::exception::base & e )
  {
    std::cout << "Error: " << e.get_msg () << std::endl;
  }

  return 0;
}
开发者ID:andre-merzky,项目名称:plover,代码行数:38,代码来源:test1.cpp


示例2: test_transform_binary

void test_transform_binary(ExPolicy policy, IteratorTag)
{
    static_assert(
        hpx::parallel::execution::is_execution_policy<ExPolicy>::value,
        "hpx::parallel::execution::is_execution_policy<ExPolicy>::value");

    typedef std::vector<int>::iterator base_iterator;
    typedef test::test_iterator<base_iterator, IteratorTag> iterator;

    std::vector<int> c1(10007);
    std::vector<int> c2(c1.size());
    std::vector<int> d1(c1.size()); //-V656
    std::iota(std::begin(c1), std::end(c1), std::rand());
    std::iota(std::begin(c2), std::end(c2), std::rand());

    auto result =
        hpx::parallel::transform(policy,
            iterator(std::begin(c1)), iterator(std::end(c1)),
            std::begin(c2), std::begin(d1), add());

    HPX_TEST(hpx::util::get<0>(result) == iterator(std::end(c1)));
    HPX_TEST(hpx::util::get<1>(result) == std::end(c2));
    HPX_TEST(hpx::util::get<2>(result) == std::end(d1));

    // verify values
    std::vector<int> d2(c1.size());
    std::transform(std::begin(c1), std::end(c1),
        std::begin(c2), std::begin(d2), add());

    std::size_t count = 0;
    HPX_TEST(std::equal(std::begin(d1), std::end(d1), std::begin(d2),
        [&count](int v1, int v2) -> bool {
            HPX_TEST_EQ(v1, v2);
            ++count;
            return v1 == v2;
        }));
    HPX_TEST_EQ(count, d2.size());
}
开发者ID:atrantan,项目名称:hpx,代码行数:38,代码来源:transform_binary_tests.hpp


示例3: testAutomaticConnectionManagement

    void testAutomaticConnectionManagement()
    {
        std::cout << __FUNCTION__ << std::endl;
        std::cout << "---------------------------------" << std::endl;
        ItemProvider ip;
        Client c1(0);
        Client c2(1);
        ip.registerClient(c1);
        ip.registerClient(c2);
        {
            // boost::shared_ptr-managed pointer used
            auto c3 = boost::make_shared<Client>(2);
            ip.registerClient(c3);

            // std::shared_ptr-managed pointer used
            auto c4 = std::make_shared<Client>(3);
            ip.registerClient(c4);

            ip.notify();
        }
        ip.notify();
        std::cout << "---------------------------------" << std::endl;
    }
开发者ID:MarkoFilipovic,项目名称:Playground,代码行数:23,代码来源:signalsTest.cpp


示例4: main

int main()
{
	complex c1(8, 7);
	complex c2(2, 1);
	complex c3(1.3);

	// 生成一个临时的 complex 对象
	cout << complex(1, 5) << endl;
	cout << c1 << endl;
	cout << c1 - c2 << endl;

	// 强制将 1.3 转为 complex 型,类似 int(1.3)
	c3 = c2 - complex(1.3);
	cout << c3 << endl;

	// 强制将坐标类转为 complex 型
	point p1(10, -10);
	complex c4;
	c4 = complex(p1);
	cout << c4 << endl;

	return 0;
}
开发者ID:hehe520,项目名称:C_CPP,代码行数:23,代码来源:转换构造函数.cpp


示例5: c

void HUD::setup(){
    
    //Colors for HUDSpinners below
    ofColor c(36,96,150);
    ofColor c2(36,180,150);
    ofColor c3(93,5,255);
    ofColor c4(254,173,69);
    ofColor c5(5,209,245);
    ofColor c6(40,240,60);
    
    spinner1.setup(10 /*count*/, 200.0 /*avgRotSpd*/, 100 /*rotVariation*/, c /*color*/, 30 /*resolution*/, 20 /*minRad*/, 55 /*maxRad*/, 15 /*minWidth*/, 30 /*maxWidth*/);
    spinner2.setup(10 /*count*/, 150 /*avgRotSpd*/, 50 /*rotVariation*/, c2 /*color*/, 40 /*resolution*/, 15 /*minRad*/, 55 /*maxRad*/, 10 /*minWidth*/, 20 /*maxWidth*/);
    spinner3.setup(15 /*count*/, 150 /*avgRotSpd*/, 140 /*rotVariation*/, c3 /*color*/, 40 /*resolution*/, 20 /*minRad*/, 55 /*maxRad*/, 10 /*minWidth*/, 20 /*maxWidth*/);
    spinner4.setup(15 /*count*/, 150 /*avgRotSpd*/, 140 /*rotVariation*/, c4 /*color*/, 40 /*resolution*/, 30 /*minRad*/, 55 /*maxRad*/, 10 /*minWidth*/, 20 /*maxWidth*/);
    spinner5.setup(20 /*count*/, 150 /*avgRotSpd*/, 140 /*rotVariation*/, c5 /*color*/, 40 /*resolution*/, 20 /*minRad*/, 80 /*maxRad*/, 10 /*minWidth*/, 20 /*maxWidth*/);
    spinner6.setup(15 /*count*/, -150 /*avgRotSpd*/, 100 /*rotVariation*/, c6 /*color*/, 40 /*resolution*/, 30 /*minRad*/, 200 /*maxRad*/, 20 /*minWidth*/, 100 /*maxWidth*/);
    
    HUDimg.loadImage("HUD3.png");
    
    singleBlink = false;
    doubleBlink = false;

}
开发者ID:conorrussomanno,项目名称:ROB3115,代码行数:23,代码来源:HUD.cpp


示例6: c

void QFCompleterTextEditWidget::comment(){
    QTextCursor c(textCursor());
    if (c.selectionStart() == c.selectionEnd()) {
        c.movePosition(QTextCursor::StartOfLine);
        c.insertText(commentString+" ");
        //setTextCursor(c);
    } else {
        // now we have to iterate through all selected blocks (lines) and indent them
        QTextCursor c1(c);
        c1.setPosition(c.selectionStart());
        QTextCursor c2(c);
        c2.setPosition(c.selectionEnd());
        c1.beginEditBlock();
        while (c1.blockNumber() <= c2.blockNumber()) {
            c1.movePosition(QTextCursor::StartOfBlock);
            c1.insertText(commentString+" ");
            if (!c1.movePosition(QTextCursor::NextBlock))
                break;
        }
        c1.endEditBlock();
        setTextCursor(c);
    }
}
开发者ID:jkriege2,项目名称:QuickFit3,代码行数:23,代码来源:qfcompletertextedit.cpp


示例7: c2

void Mesh::centerAlign()
{
    Point c2(mAABB[0].max);
    Point c1(mAABB[0].min);
    c2.sub(c1);
    c2.scale(0.5);
    c1.add(c2);

    vector<Point>::iterator vi;
    for (vi=mVertices.begin(); vi!= mVertices.end(); ++vi)
        vi->sub(c1);

    vector<Box>::iterator pi;
    for(pi=mVoxels.begin(); pi!=mVoxels.end(); ++pi)
        pi->sub(c1);

    for (int bi=0; bi<BVL_SIZE(BVL); ++bi){
        mAABB[bi].sub(c1);
        mSphere[bi].sub(c1);
    }

    updateTriangleData();
}
开发者ID:chrispap,项目名称:GraphicsProject,代码行数:23,代码来源:mesh.cpp


示例8: removedSubsumed

// remove subsumed clauses
int
removedSubsumed(List<Clause> &cl1, List<Clause> &cl2, List<Clause> &cl2rmv)
{
	// check if any clauses in clause list 1 subsume any
	// clause in clause set 2.
	ListIterator<Clause> cl2Iter(cl2);
	for ( ; !cl2Iter.done(); cl2Iter++)
	{
		ListIterator<Clause> cl1Iter(cl1);
		for ( ; !cl1Iter.done(); cl1Iter++)
		{
			Substitutions s;
			Clause c1(cl1Iter());
			Clause c2(cl2Iter());
			if (subsumes(c1, c2, s) == OK)
			{
				if (cl2rmv.insertAtEnd(cl2Iter()) != OK)
					return(NOTOK);
			}
		}
	}
	return(OK);
}
开发者ID:ombt,项目名称:ombt,代码行数:24,代码来源:prover.c


示例9: TEST

TEST(myCollectioncircle, myCollection){
	std::stringstream ss;
	myCollection<Circle> circleCollection;
		
	CHECK(circleCollection.isEmpty());
	
	Circle c1(5, 2, 4, "c1");
	Circle c2(4, 2, 4, "c2");
	Circle c3(3, 2, 4, "c3");
	Circle c4(2, 2, 4, "c4");
	
	circleCollection.add(c1);
	circleCollection.add(c2);
	circleCollection.add(c3);
	circleCollection.add(c4);
	
	CHECK_EQUAL(circleCollection.count(), 4);
	circleCollection.printAll(ss);
	CHECK_EQUAL("name: c1, radius: 5, x: 2, y: 4name: c2, radius: 4, x: 2, y: 4name: c3, radius: 3, x: 2, y: 4name: c4, radius: 2, x: 2, y: 4", ss.str());
	ss.str("");
	circleCollection.printReverseOrder(ss);
	CHECK_EQUAL("name: c4, radius: 2, x: 2, y: 4name: c3, radius: 3, x: 2, y: 4name: c2, radius: 4, x: 2, y: 4name: c1, radius: 5, x: 2, y: 4", ss.str());
}
开发者ID:thelastbaldwin,项目名称:intermediate-c-plus-plus,代码行数:23,代码来源:myCollectionTest.cpp


示例10: assert

void CAirCAI::ExecuteGuard(Command& c)
{
	assert(owner->unitDef->canGuard);

	const CUnit* guardee = unitHandler->GetUnit(c.params[0]);

	if (guardee == NULL) { FinishCommand(); return; }
	if (UpdateTargetLostTimer(guardee->id) == 0) { FinishCommand(); return; }
	if (guardee->outOfMapTime > (GAME_SPEED * 5)) { FinishCommand(); return; }

	const bool pushAttackCommand =
		(owner->maxRange > 0.0f) &&
		owner->unitDef->canAttack &&
		((guardee->lastAttackFrame + 40) < gs->frameNum) &&
		IsValidTarget(guardee->lastAttacker);

	if (pushAttackCommand) {
		Command nc(CMD_ATTACK, c.options | INTERNAL_ORDER, guardee->lastAttacker->id);
		commandQue.push_front(nc);
		SlowUpdate();
	} else {
		Command c2(CMD_MOVE, c.options | INTERNAL_ORDER);
		c2.timeOut = gs->frameNum + 60;

		if (guardee->pos.IsInBounds()) {
			c2.PushPos(guardee->pos);
		} else {
			float3 clampedGuardeePos = guardee->pos;

			clampedGuardeePos.ClampInBounds();

			c2.PushPos(clampedGuardeePos);
		}

		commandQue.push_front(c2);
	}
}
开发者ID:vladmihaisima,项目名称:spring,代码行数:37,代码来源:AirCAI.cpp


示例11: FinishCommand

void CTransportCAI::UnloadUnits_LandFlood(Command& c, CTransportUnit* transport)
{
	if (lastCall == gs->frameNum) { // avoid infinite loops
		return;
	}
	lastCall = gs->frameNum;
	if (static_cast<CTransportUnit*>(owner)->GetTransportedUnits().empty()) {
		FinishCommand();
		return;
	}

	float3 pos = c.GetPos(0);
	float3 found;

	const CTransportUnit* ownerTrans = static_cast<CTransportUnit*>(owner);
	const std::list<CTransportUnit::TransportedUnit>& transportees = ownerTrans->GetTransportedUnits();
	const CUnit* transportee = transportees.front().unit;
	const float radius = c.params[3];
	const float spread = transportee->radius * ownerTrans->unitDef->unloadSpread;
	const bool canUnload = FindEmptySpot(pos, radius, spread, found, transportee);

	if (canUnload) {
		Command c2(CMD_UNLOAD_UNIT, c.options | INTERNAL_ORDER, found);
		commandQue.push_front(c2);

		if (isFirstIteration)	{
			Command c1(CMD_MOVE, c.options | INTERNAL_ORDER, pos);
			commandQue.push_front(c1);
			startingDropPos = pos;
		}

		SlowUpdate();
		return;
	} else {
		FinishCommand();
	}
}
开发者ID:AlexDiede,项目名称:spring,代码行数:37,代码来源:TransportCAI.cpp


示例12: c2

Coord Coord::operator *(Quat &q)
{
	// From http://www.euclideanspace.com/maths/algebra/realNormedAlgebra/quaternions/transforms/

	Coord c2(0.0f, 0.0f, 0.0f);

	c2.X = q.W * q.W * X +
			2.0f * q.Y * q.W * Z -
			2.0f * q.Z * q.W * Y +
			q.X * q.X * X +
			2.0f * q.Y * q.X * Y +
			2.0f * q.Z * q.X * Z -
			q.Z * q.Z * X -
			q.Y * q.Y * X;

	c2.Y =
			2.0f * q.X * q.Y * X +
			q.Y * q.Y * Y +
			2.0f * q.Z * q.Y * Z +
			2.0f * q.W * q.Z * X -
			q.Z * q.Z * Y +
			q.W * q.W * Y -
			2.0f * q.X * q.W * Z -
			q.X * q.X * Y;

	c2.Z =
			2.0f * q.X * q.Z * X +
			2.0f * q.Y * q.Z * Y +
			q.Z * q.Z * Z -
			2.0f * q.W * q.Y * X -
			q.Y * q.Y * Z +
			2.0f * q.W * q.X * Y -
			q.X * q.X * Z +
			q.W * q.W * Z;

	return c2;
}
开发者ID:monchalve,项目名称:oarcollada,代码行数:37,代码来源:primmesher.cpp


示例13: c1

void PlotCartesianWidget::drawLabels()
{
    glf->glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
    glf->glEnable(GL_BLEND);
    glf->glBindVertexArray(textVAO);
    glm::vec3 c1(0.6,0.6,0.6);
    glm::vec3 c2(0.3,0.3,0.3);

    renderText( 0.0, -0.52 * 33.33 / height(), "0", c1 );
    renderText( 0.785398163-0.02*lookZoom, -0.52 * 33.33 / height(), "45", c1 );
    renderText( 1.57079633-0.02*lookZoom, -0.52 * 33.33 / height(),  "90", c1 );
    renderText( -0.785398163-0.02*lookZoom, -0.52 * 33.33 / height(), "45", c1 );
    renderText( -1.57079633-0.02*lookZoom, -0.52 * 33.33 / height(),  "90", c1 );

    float zoomY = lookZoom * 1.0f/scaleY;

    if (zoomY < zoomLevel[0]) {
        for( int i = 1; i < 5; i++)
            renderText( 0.05-0.005*lookZoom, float(i)*0.2-0.02*lookZoom, QString::number(i*0.2), c1 );
        if (zoomY < zoomLevel[1]) {
            for( int i = 0; i < 5; i++)
                renderText( 0.05-0.005*lookZoom, 0.1+float(i)*0.2-0.02*lookZoom, QString::number(0.1+i*0.2), c1 );
            if (zoomY < zoomLevel[2]) {
                for( int i = 0; i < 10; i++)
                    renderText( 0.05-0.005*lookZoom, 0.05+float(i)*0.1-0.02*lookZoom, QString::number(0.05+i*0.1), c1 );
            }
        }
    }

    for( int i = 1; i <= 9; i++ )
        renderText( 0.05-0.005*lookZoom, float(i)-0.02*lookZoom, QString::number(i), c2 );
    for( int i = 10; i <= 100; i += 10 )
        renderText( -0.05-0.005*lookZoom, float(i), QString::number(i), c2 );
    glf->glBindVertexArray(0);
    glf->glDisable(GL_BLEND);
    glf->glBindBuffer(GL_ARRAY_BUFFER, 0);
}
开发者ID:wdas,项目名称:brdf,代码行数:37,代码来源:PlotCartesianWidget.cpp


示例14: c1

// @bug 4051866
//
// Collator -> rules -> Collator round-trip broken for expanding characters
//
void CollationRegressionTest::Test4051866(/* char* par */)
{
    UnicodeString rules;
    UErrorCode status = U_ZERO_ERROR;

    rules += "&n < o ";
    rules += "& oe ,o";
    rules += (UChar)0x3080;
    rules += "& oe ,";
    rules += (UChar)0x1530;
    rules += " ,O";
    rules += "& OE ,O";
    rules += (UChar)0x3080;
    rules += "& OE ,";
    rules += (UChar)0x1520;
    rules += "< p ,P";

    // Build a collator containing expanding characters
    LocalPointer<RuleBasedCollator> c1(new RuleBasedCollator(rules, status), status);
    if (U_FAILURE(status)) {
        errln("RuleBasedCollator(rule string) failed - %s", u_errorName(status));
        return;
    }

    // Build another using the rules from  the first
    LocalPointer<RuleBasedCollator> c2(new RuleBasedCollator(c1->getRules(), status), status);
    if (U_FAILURE(status)) {
        errln("RuleBasedCollator(rule string from other RBC) failed - %s", u_errorName(status));
        return;
    }

    // Make sure they're the same
    if (!(c1->getRules() == c2->getRules()))
    {
        errln("Rules are not equal");
    }
}
开发者ID:Acorld,项目名称:WinObjC-Heading,代码行数:41,代码来源:regcoll.cpp


示例15: test27

int test27 (void) {
int ret = 0;

	printf ("TEST: ltrim(), rtrim() methods\n");

	try {
		CBString c0, c1("  Test  "), c2("       ");

		printf ("\t\"%s\".ltrim ()\n", (const char *) c0);
		c0.ltrim ();
		ret += c0 != "";
		c0 = "";
		c0.rtrim ();
		ret += c0 != "";

		printf ("\t\"%s\".ltrim ()\n", (const char *) c1);
		c1.ltrim ();
		ret += c1 != "Test  ";
		c1 = "  Test  ";
		c1.rtrim ();
		ret += c1 != "  Test";

		printf ("\t\"%s\".ltrim ()\n", (const char *) c2);
		c2.ltrim ();
		ret += c2 != "";
		c2 = "       ";
		c2.rtrim ();
		ret += c2 != "";
	}
	catch (struct CBStringException err) {
		printf ("Exception thrown [%d]: %s\n", __LINE__, err.what());
		ret ++;
	}

	printf ("\t# failures: %d\n", ret);
	return ret;
}
开发者ID:Endofunctor,项目名称:noobwerkz-engine,代码行数:37,代码来源:test.cpp


示例16: c1

void tst_QuickPath::line()
{
    QQmlEngine engine;
    QQmlComponent c1(&engine);
    c1.setData(
            "import QtQuick 2.0\n"
            "Path {\n"
                "startX: 0; startY: 0\n"
                "PathLine { x: 100; y: 100 }\n"
            "}", QUrl());
    QScopedPointer<QObject> o1(c1.create());
    QQuickPath *path1 = qobject_cast<QQuickPath *>(o1.data());
    QVERIFY(path1);

    QQmlComponent c2(&engine);
    c2.setData(
            "import QtQuick 2.0\n"
            "Path {\n"
                "startX: 0; startY: 0\n"
                "PathLine { x: 50; y: 50 }\n"
                "PathLine { x: 100; y: 100 }\n"
            "}", QUrl());
    QScopedPointer<QObject> o2(c2.create());
    QQuickPath *path2 = qobject_cast<QQuickPath *>(o2.data());
    QVERIFY(path2);

    for (int i = 0; i < 167; ++i) {
        qreal t = i / 167.0;

        QPointF p1 = path1->pointAt(t);
        QCOMPARE(p1.x(), p1.y());

        QPointF p2 = path2->pointAt(t);
        QCOMPARE(p1.toPoint(), p2.toPoint());
    }
}
开发者ID:xjohncz,项目名称:qt5,代码行数:36,代码来源:tst_qquickpath.cpp


示例17: TEST_F

  TEST_F(TrackerTest, reply)
  {
    EXPECT_CALL(mockSocketUDP,send(_)).Times(1);
    EXPECT_CALL(mockSocketTCP,sendMsg(_)).Times(0);
    Client c(&mockSocketUDP);
    t->reply(&c);

    Mock::VerifyAndClearExpectations(&mockSocketUDP);
    Mock::VerifyAndClearExpectations(&mockSocketTCP);

    
    EXPECT_CALL(mockSocketUDP,send(_)).Times(0);
    EXPECT_CALL(mockSocketTCP,sendMsg(_)).Times(1);
    Client c2(&mockSocketTCP);
    t->reply(&c2);

    Mock::VerifyAndClearExpectations(&mockSocketUDP);
    Mock::VerifyAndClearExpectations(&mockSocketTCP);

    
    EXPECT_CALL(mockSocketUDP,send(_)).Times(0);
    EXPECT_CALL(mockSocketTCP,sendMsg(_)).Times(0);
    t->reply(NULL);
  }
开发者ID:mat33470,项目名称:BeetTorrent,代码行数:24,代码来源:TrackerTest.cpp


示例18: test_transform_binary2_async

void test_transform_binary2_async(ExPolicy p, IteratorTag)
{
    typedef std::vector<int>::iterator base_iterator;
    typedef test::test_iterator<base_iterator, IteratorTag> iterator;

    std::vector<int> c1(10007);
    std::vector<int> c2(c1.size());
    std::vector<int> d1(c1.size()); //-V656
    std::iota(boost::begin(c1), boost::end(c1), std::rand());
    std::iota(boost::begin(c2), boost::end(c2), std::rand());

    auto f =
        hpx::parallel::transform(p,
            iterator(boost::begin(c1)), iterator(boost::end(c1)),
            boost::begin(c2), boost::end(c2), boost::begin(d1), add());
    f.wait();

    hpx::util::tuple<iterator, base_iterator, base_iterator> result = f.get();
    HPX_TEST(hpx::util::get<0>(result) == iterator(boost::end(c1)));
    HPX_TEST(hpx::util::get<1>(result) == boost::end(c2));
    HPX_TEST(hpx::util::get<2>(result) == boost::end(d1));

    // verify values
    std::vector<int> d2(c1.size());
    std::transform(boost::begin(c1), boost::end(c1),
        boost::begin(c2), boost::begin(d2), add());

    std::size_t count = 0;
    HPX_TEST(std::equal(boost::begin(d1), boost::end(d1), boost::begin(d2),
        [&count](int v1, int v2) -> bool {
            HPX_TEST_EQ(v1, v2);
            ++count;
            return v1 == v2;
        }));
    HPX_TEST_EQ(count, d2.size());
}
开发者ID:brycelelbach,项目名称:hpx,代码行数:36,代码来源:transform_binary2_tests.hpp


示例19: c1

void Character::resizeGL(int w, int h)
{
    //This code sets the concatenated view and perspective projection matrices used for
    //our scene's camera view.
    // vvv TODO REPLACE THIS CODE IN HW2
    glm::vec4 c1(1.1933f, 0, 1.1933f, 0);
    glm::vec4 c2(0.9856f, 1.9712f, -0.9856f, 0);
    glm::vec4 c3(0.5785f, -0.5785f, -0.5785f, 11.9484f);
    glm::vec4 c4(0.5774f, -0.5774f, -0.5774f, 12.1244f);
    glm::mat4 viewproj(c1, c2, c3, c4);
    viewproj = glm::transpose(viewproj);
    // ^^^ TODO REPLACE THIS CODE IN HW2

    // Upload the view-projection matrix to our shaders (i.e. onto the graphics card)
    QMatrix4x4 qviewproj = la::to_qmat(viewproj);

    prog_lambert.prog.bind();
    prog_lambert.prog.setUniformValue(prog_lambert.unifViewProj, qviewproj);

    prog_wire.prog.bind();
    prog_wire.prog.setUniformValue(prog_wire.unifViewProj, qviewproj);

    printGLErrorLog();
}
开发者ID:zigouras,项目名称:cis277,代码行数:24,代码来源:character.cpp


示例20: pointsC1C2

std::pair<QPointF, QPointF>
ConnectionGeometry::
pointsC1C2() const
{
  double xDistance = _in.x() - _out.x();
  //double yDistance = _in.y() - _out.y() - 100;

  double defaultOffset = 200;

  double minimum = qMin(defaultOffset, std::abs(xDistance));

  double verticalOffset = 0;

  double ratio1 = 0.5;

  if (xDistance <= 0)
  {
    verticalOffset = -minimum;

    ratio1 = 1.0;
  }

  //double verticalOffset2 = verticalOffset;
  //if (xDistance <= 0)
  //verticalOffset2 = qMin(defaultOffset, std::abs(yDistance));
  //auto sign = [](double d) { return d > 0.0 ? +1.0 : -1.0; };
  //verticalOffset2 = 0.0;

  QPointF c1(_out.x() + minimum * ratio1,
             _out.y() + verticalOffset);

  QPointF c2(_in.x() - minimum * ratio1,
             _in.y() + verticalOffset);

  return std::make_pair(c1, c2);
}
开发者ID:jcelerier,项目名称:nodeeditor,代码行数:36,代码来源:ConnectionGeometry.cpp



注:本文中的c2函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C++ c2_wr_set_id函数代码示例发布时间:2022-05-30
下一篇:
C++ c1函数代码示例发布时间:2022-05-30
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap