Ejemplo n.º 1
0
int main(int n, char **p)
{
	Step::RefPtr<ifc2x3::ExpressDataSet> eds ;
	try
	{
		std::cout << "Creating ExpressDataSet" << std::endl;
		eds = new ifc2x3::ExpressDataSet;
	}
	catch (const std::exception& e)
	{
		TEST_FAILURE((std::string("Exception : ") + e.what()).c_str());
	}

	TEST_VALIDITY(eds);

	Step::RefPtr<ifc2x3::IfcCompositeCurve> CompositeCurve = eds->createIfcCompositeCurve();
	TEST_VALIDITY(CompositeCurve);

	TEST_ASSERT(CompositeCurve->getNSegments()==0);
	TEST_ASSERT(CompositeCurve->getClosedCurve()==Step::LUnset);

	Step::RefPtr<ifc2x3::IfcCompositeCurveSegment> CompositeCurveSegment1 = eds->createIfcCompositeCurveSegment();
	CompositeCurve->getSegments().push_back(CompositeCurveSegment1);
	Step::RefPtr<ifc2x3::IfcCompositeCurveSegment> CompositeCurveSegment2 = eds->createIfcCompositeCurveSegment();
	CompositeCurve->getSegments().push_back(CompositeCurveSegment2);
	Step::RefPtr<ifc2x3::IfcCompositeCurveSegment> CompositeCurveSegment3 = eds->createIfcCompositeCurveSegment();
	CompositeCurve->getSegments().push_back(CompositeCurveSegment3);
	Step::RefPtr<ifc2x3::IfcCompositeCurveSegment> CompositeCurveSegment4 = eds->createIfcCompositeCurveSegment();
	
	TEST_ASSERT(CompositeCurve->getNSegments()==3);
	ifc2x3::IfcTransitionCode Transition1 = ifc2x3::IfcTransitionCode_CONTINUOUS;
	CompositeCurveSegment4->setTransition(Transition1);
	CompositeCurve->getSegments().push_back(CompositeCurveSegment4);

	TEST_ASSERT(CompositeCurve->getNSegments()==4);
	TEST_ASSERT(CompositeCurve->getClosedCurve()==Step::LTrue);

	Step::RefPtr<ifc2x3::IfcCompositeCurveSegment> CompositeCurveSegment5 = eds->createIfcCompositeCurveSegment();
	CompositeCurve->getSegments().push_back(CompositeCurveSegment5);

	ifc2x3::IfcTransitionCode Transition2 = ifc2x3::IfcTransitionCode_DISCONTINUOUS;
	CompositeCurveSegment5->setTransition(Transition2);

	TEST_ASSERT(CompositeCurve->getNSegments()==5);
	TEST_ASSERT(CompositeCurve->getClosedCurve()==Step::LFalse);

///////////////////////////////////////////////////////////////////////////////////////////////////////////////
	std::cout << std::endl << "Failure : " << failure_results << " Success : " << success_results << std::endl;

	return failure_results;
}