Пример #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::IfcSurfaceOfLinearExtrusion > SurfaceOfLinearExtrusion = eds->createIfcSurfaceOfLinearExtrusion();
	TEST_VALIDITY(SurfaceOfLinearExtrusion);

	Step::RefPtr< ifc2x3::IfcVector > VectorResult = SurfaceOfLinearExtrusion->getExtrusionAxis();
	TEST_ASSERT(VectorResult.valid())
	Step::RefPtr< ifc2x3::IfcDirection > DirectionResult = VectorResult->getOrientation();
	TEST_ASSERT(DirectionResult.valid()==false);
	TEST_ASSERT(Step::isUnset(VectorResult->getMagnitude()));

	Step::RefPtr< ifc2x3::IfcDirection > Direction = eds->createIfcDirection();
	Direction->getDirectionRatios().push_back(1);
	Direction->getDirectionRatios().push_back(1);
	Direction->getDirectionRatios().push_back(1);
	SurfaceOfLinearExtrusion->setExtrudedDirection(Direction);

	SurfaceOfLinearExtrusion->setDepth(1);

	VectorResult = SurfaceOfLinearExtrusion->getExtrusionAxis();
	TEST_ASSERT(VectorResult->getOrientation()->getDirectionRatios()[0]==1);
	TEST_ASSERT(VectorResult->getOrientation()->getDirectionRatios()[1]==1);
	TEST_ASSERT(VectorResult->getOrientation()->getDirectionRatios()[2]==1);

	TEST_ASSERT(VectorResult->getMagnitude()==1);

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

	return failure_results;
}