本文整理汇总了C++中step::RefPtr::getP方法的典型用法代码示例。如果您正苦于以下问题:C++ RefPtr::getP方法的具体用法?C++ RefPtr::getP怎么用?C++ RefPtr::getP使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类step::RefPtr
的用法示例。
在下文中一共展示了RefPtr::getP方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: main
int main(int n, char **p)
{
Step::RefPtr<ifc2x3::ExpressDataSet> eds ;
try
{
std::cout << "Creating ExpressDa20taSet" << 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::IfcAxis2Placement2D> placement = eds->createIfcAxis2Placement2D();
// get P with an empty placement to check default values
ifc2x3::List_IfcDirection_2_2 P = placement->getP();
TEST_ASSERT(P.size()==2);
TEST_VALIDITY(P[0]);
TEST_VALIDITY(P[1]);
if (P[0].valid() && P[1].valid())
{
// test default return value (1,0)
TEST_ASSERT(P[0]->getDirectionRatios()[0]==1.0);
TEST_ASSERT(P[0]->getDirectionRatios()[1]==0.0);
// test default return value (0,1)
TEST_ASSERT(P[1]->getDirectionRatios()[0]==0.0);
TEST_ASSERT(P[1]->getDirectionRatios()[1]==1.0);
}
// create a IfcDirection(0,1) to give some information to the placement
Step::RefPtr<ifc2x3::IfcDirection> RefDirection = eds->createIfcDirection();
RefDirection->getDirectionRatios().push_back(0.0);
RefDirection->getDirectionRatios().push_back(1.0);
placement->setRefDirection(RefDirection);
P = placement->getP();
TEST_VALIDITY(P[0]);
TEST_VALIDITY(P[1]);
if (P[0].valid() && P[1].valid())
{
TEST_ASSERT(P[0]->getDirectionRatios()[0]==0.0);
TEST_ASSERT(P[0]->getDirectionRatios()[1]==1.0);
TEST_ASSERT(P[1]->getDirectionRatios()[0]==-1.0);
TEST_ASSERT(P[1]->getDirectionRatios()[1]==0.0);
}
std::cout << std::endl << "Failure : " << failure_results << " Success : " << success_results << std::endl;
return failure_results;
}