コード例 #1
0
ファイル: srf_test.cpp プロジェクト: DimondTheCat/xray
static void
AddObjectsForJoinTests(NURBSSet &nset, int &c1, int &c2, int &s1, int &s2)
{
	NURBSIndependentPoint pt;

	NURBSPointCurve *c = new NURBSPointCurve();
	c->SetName(GetString(IDS_J_PT_CRV1));
	c->SetNumPts(3);
	pt.SetPosition(0, Point3(100, 0, -100));
	c->SetPoint(0, pt);
	pt.SetPosition(0, Point3(200, 0, -100));
	c->SetPoint(1, pt);
	pt.SetPosition(0, Point3(200, 100, -100));
	c->SetPoint(2, pt);
	c1 = nset.AppendObject(c);

	c = new NURBSPointCurve();
	c->SetName(GetString(IDS_J_PT_CRV2));
	c->SetNumPts(3);
	pt.SetPosition(0, Point3(210, 110, -100));
	c->SetPoint(0, pt);
	pt.SetPosition(0, Point3(300, 200, -100));
	c->SetPoint(1, pt);
	pt.SetPosition(0, Point3(300, 100, -100));
	c->SetPoint(2, pt);
	c2 = nset.AppendObject(c);

	NURBSPointSurface *s = new NURBSPointSurface();
	s->SetName(GetString(IDS_J_PT_SRF1));
	s->SetNumPts(2, 2);
	pt.SetPosition(0, Point3(200, 0, -100));
	s->SetPoint(0, 0, pt);
	pt.SetPosition(0, Point3(200, 100, -100));
	s->SetPoint(0, 1, pt);
	pt.SetPosition(0, Point3(300, 0, -100));
	s->SetPoint(1, 0, pt);
	pt.SetPosition(0, Point3(300, 100, -100));
	s->SetPoint(1, 1, pt);
	s1 = nset.AppendObject(s);

	s = new NURBSPointSurface();
	s->SetName(GetString(IDS_J_PT_SRF2));
	s->SetNumPts(2, 2);
	pt.SetPosition(0, Point3(310, 0, -100));
	s->SetPoint(0, 0, pt);
	pt.SetPosition(0, Point3(310, 100, -100));
	s->SetPoint(0, 1, pt);
	pt.SetPosition(0, Point3(400, 0, -100));
	s->SetPoint(1, 0, pt);
	pt.SetPosition(0, Point3(400, 100, -100));
	s->SetPoint(1, 1, pt);
	s2 = nset.AppendObject(s);
}
コード例 #2
0
ファイル: crt_srf.cpp プロジェクト: artemeliy/inf4715
static int
P2Curve(NURBSSet &nset, Matrix3 mat)
{
	NURBSPointCurve *c = new NURBSPointCurve();
	c->SetName(GetString(IDS_POINT_CURVE));
	c->SetNumPts(3);

	NURBSIndependentPoint pt;
	pt.SetPosition(0, mat * Point3(0, 0, 0));
	c->SetPoint(0, pt);
	pt.SetPosition(0, mat * Point3(0, 0, 20));
	c->SetPoint(1, pt);
	pt.SetPosition(0, mat * Point3(0, 0, 40));
	c->SetPoint(2, pt);

	return nset.AppendObject(c);
}
コード例 #3
0
ファイル: crt_srf.cpp プロジェクト: artemeliy/inf4715
static int
MakeCurveToLathe(NURBSSet &nset)
{
	NURBSPointCurve *c = new NURBSPointCurve();
	c->SetName(GetString(IDS_POINT_CURVE));
	c->SetNumPts(3);

	NURBSIndependentPoint pt;
	pt.SetPosition(0, Point3(200, 200, 0));
	c->SetPoint(0, pt);
	pt.SetPosition(0, Point3(250, 200, 100));
	c->SetPoint(1, pt);
	pt.SetPosition(0, Point3(200, 200, 150));
	c->SetPoint(2, pt);

	return nset.AppendObject(c);
}