- Ifc: implement basic support for IfcSweptDiskSolid elements.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1287 67173fc5-114c-0410-ac8e-9d2fd5bffc1fpull/8/head
parent
c70646912c
commit
d7410e6f08
|
@ -549,7 +549,8 @@ bool Curve :: InRange(IfcFloat u) const
|
||||||
ai_assert(range.first != std::numeric_limits<IfcFloat>::infinity() && range.second != std::numeric_limits<IfcFloat>::infinity());
|
ai_assert(range.first != std::numeric_limits<IfcFloat>::infinity() && range.second != std::numeric_limits<IfcFloat>::infinity());
|
||||||
u = range.first + fmod(u-range.first,range.second-range.first);
|
u = range.first + fmod(u-range.first,range.second-range.first);
|
||||||
}
|
}
|
||||||
return u >= range.first && u <= range.second;
|
const IfcFloat epsilon = 1e-5;
|
||||||
|
return u - range.first > -epsilon && range.second - u > -epsilon;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
@ -451,7 +451,6 @@ void ProcessConnectedFaceSet(const IfcConnectedFaceSet& fset, TempMesh& result,
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// ------------------------------------------------------------------------------------------------
|
// ------------------------------------------------------------------------------------------------
|
||||||
void ProcessRevolvedAreaSolid(const IfcRevolvedAreaSolid& solid, TempMesh& result, ConversionData& conv)
|
void ProcessRevolvedAreaSolid(const IfcRevolvedAreaSolid& solid, TempMesh& result, ConversionData& conv)
|
||||||
{
|
{
|
||||||
|
@ -539,6 +538,109 @@ void ProcessRevolvedAreaSolid(const IfcRevolvedAreaSolid& solid, TempMesh& resul
|
||||||
IFCImporter::LogDebug("generate mesh procedurally by radial extrusion (IfcRevolvedAreaSolid)");
|
IFCImporter::LogDebug("generate mesh procedurally by radial extrusion (IfcRevolvedAreaSolid)");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// ------------------------------------------------------------------------------------------------
|
||||||
|
void ProcessSweptDiskSolid(const IfcSweptDiskSolid solid, TempMesh& result, ConversionData& conv)
|
||||||
|
{
|
||||||
|
const Curve* const curve = Curve::Convert(*solid.Directrix, conv);
|
||||||
|
if(!curve) {
|
||||||
|
IFCImporter::LogError("failed to convert Directrix curve (IfcSweptDiskSolid)");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
const std::vector<IfcVector3>& in = result.verts;
|
||||||
|
const size_t size=in.size();
|
||||||
|
|
||||||
|
const unsigned int cnt_segments = 16;
|
||||||
|
const IfcFloat deltaAngle = AI_MATH_TWO_PI/cnt_segments;
|
||||||
|
|
||||||
|
const size_t samples = curve->EstimateSampleCount(solid.StartParam,solid.EndParam);
|
||||||
|
|
||||||
|
result.verts.reserve(cnt_segments * samples * 4);
|
||||||
|
result.vertcnt.reserve((cnt_segments - 1) * samples);
|
||||||
|
|
||||||
|
// XXX while EstimateSampleCount() works well for non-composite curves, it
|
||||||
|
// fails badly for composite curves that require non-uniform sampling
|
||||||
|
// for good results.
|
||||||
|
IfcFloat p = solid.StartParam, delta = (solid.EndParam-solid.StartParam)/ (samples - 1);
|
||||||
|
|
||||||
|
|
||||||
|
IfcVector3 current = curve->Eval(p);
|
||||||
|
IfcVector3 previous = current;
|
||||||
|
IfcVector3 next;
|
||||||
|
|
||||||
|
IfcVector3 startvec;
|
||||||
|
startvec.x = 1.0f;
|
||||||
|
startvec.y = 1.0f;
|
||||||
|
startvec.z = 1.0f;
|
||||||
|
|
||||||
|
std::vector<IfcVector3> points;
|
||||||
|
points.reserve(cnt_segments * samples);
|
||||||
|
|
||||||
|
p += delta;
|
||||||
|
|
||||||
|
// generate circles at the sweep positions
|
||||||
|
for(size_t i = 0; i < samples; ++i, p += delta) {
|
||||||
|
|
||||||
|
next = curve->Eval(p);
|
||||||
|
|
||||||
|
// get a direction vector reflecting the approximate curvature (i.e. tangent)
|
||||||
|
IfcVector3 d = (current-previous) + (next-previous);
|
||||||
|
|
||||||
|
d.Normalize();
|
||||||
|
|
||||||
|
// figure out an arbitrary point q so that (p-q) * d = 0,
|
||||||
|
// try to maximize ||(p-q)|| * ||(p_last-q_last)||
|
||||||
|
IfcVector3 q;
|
||||||
|
if (abs(d.x) > 1e-6) {
|
||||||
|
q.y = startvec.y;
|
||||||
|
q.z = startvec.z;
|
||||||
|
q.x = -(d.y * q.y + d.z * q.z) / d.x;
|
||||||
|
}
|
||||||
|
else if (abs(d.y) > 1e-6) {
|
||||||
|
q.x = startvec.x;
|
||||||
|
q.z = startvec.z;
|
||||||
|
q.y = -(d.x * q.x + d.z * q.z) / d.y;
|
||||||
|
}
|
||||||
|
else { // if (abs(d.z) > 1e-6)
|
||||||
|
q.y = startvec.y;
|
||||||
|
q.x = startvec.x;
|
||||||
|
q.z = -(d.y * q.y + d.x * q.x) / d.z;
|
||||||
|
}
|
||||||
|
|
||||||
|
startvec = q;
|
||||||
|
q *= solid.Radius / q.Length();
|
||||||
|
|
||||||
|
// generate a rotation matrix to rotate q around d
|
||||||
|
IfcMatrix4 rot;
|
||||||
|
IfcMatrix4::Rotation(deltaAngle,d,rot);
|
||||||
|
|
||||||
|
for (unsigned int seg = 0; seg < cnt_segments; ++seg, q *= rot ) {
|
||||||
|
points.push_back(q + current);
|
||||||
|
}
|
||||||
|
|
||||||
|
previous = current;
|
||||||
|
current = next;
|
||||||
|
}
|
||||||
|
|
||||||
|
// make quads
|
||||||
|
for(size_t i = 0; i < samples - 1; ++i) {
|
||||||
|
|
||||||
|
for (unsigned int seg = 0; seg < cnt_segments - 1; ++seg) {
|
||||||
|
|
||||||
|
result.verts.push_back(points[ i * cnt_segments + seg]);
|
||||||
|
result.verts.push_back(points[ i * cnt_segments + seg + 1]);
|
||||||
|
result.verts.push_back(points[ (i+1) * cnt_segments + seg + 1]);
|
||||||
|
result.verts.push_back(points[ (i+1) * cnt_segments + seg]);
|
||||||
|
|
||||||
|
result.vertcnt.push_back(4);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
IFCImporter::LogDebug("generate mesh procedurally by sweeping a disk along a curve (IfcSweptDiskSolid)");
|
||||||
|
}
|
||||||
|
|
||||||
// ------------------------------------------------------------------------------------------------
|
// ------------------------------------------------------------------------------------------------
|
||||||
IfcMatrix3 DerivePlaneCoordinateSpace(const TempMesh& curmesh) {
|
IfcMatrix3 DerivePlaneCoordinateSpace(const TempMesh& curmesh) {
|
||||||
|
|
||||||
|
@ -1723,6 +1825,9 @@ bool ProcessGeometricItem(const IfcRepresentationItem& geo, std::vector<unsigned
|
||||||
else if(const IfcSweptAreaSolid* swept = geo.ToPtr<IfcSweptAreaSolid>()) {
|
else if(const IfcSweptAreaSolid* swept = geo.ToPtr<IfcSweptAreaSolid>()) {
|
||||||
ProcessSweptAreaSolid(*swept,meshtmp,conv);
|
ProcessSweptAreaSolid(*swept,meshtmp,conv);
|
||||||
}
|
}
|
||||||
|
else if(const IfcSweptDiskSolid* disk = geo.ToPtr<IfcSweptDiskSolid>()) {
|
||||||
|
ProcessSweptDiskSolid(*disk,meshtmp,conv);
|
||||||
|
}
|
||||||
else if(const IfcManifoldSolidBrep* brep = geo.ToPtr<IfcManifoldSolidBrep>()) {
|
else if(const IfcManifoldSolidBrep* brep = geo.ToPtr<IfcManifoldSolidBrep>()) {
|
||||||
ProcessConnectedFaceSet(brep->Outer,meshtmp,conv);
|
ProcessConnectedFaceSet(brep->Outer,meshtmp,conv);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
/*
|
/*
|
||||||
Open Asset Import Library (assimp)
|
Open Asset Import Library (ASSIMP)
|
||||||
----------------------------------------------------------------------
|
----------------------------------------------------------------------
|
||||||
|
|
||||||
Copyright (c) 2006-2012, assimp team
|
Copyright (c) 2006-2010, ASSIMP Development Team
|
||||||
All rights reserved.
|
All rights reserved.
|
||||||
|
|
||||||
Redistribution and use of this software in source and binary forms,
|
Redistribution and use of this software in source and binary forms,
|
||||||
|
@ -18,10 +18,10 @@ following conditions are met:
|
||||||
following disclaimer in the documentation and/or other
|
following disclaimer in the documentation and/or other
|
||||||
materials provided with the distribution.
|
materials provided with the distribution.
|
||||||
|
|
||||||
* Neither the name of the assimp team, nor the names of its
|
* Neither the name of the ASSIMP team, nor the names of its
|
||||||
contributors may be used to endorse or promote products
|
contributors may be used to endorse or promote products
|
||||||
derived from this software without specific prior
|
derived from this software without specific prior
|
||||||
written permission of the assimp team.
|
written permission of the ASSIMP Development Team.
|
||||||
|
|
||||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||||
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||||
|
@ -96,7 +96,6 @@ namespace {
|
||||||
, SchemaEntry("ifcobjecttypeenum",NULL )
|
, SchemaEntry("ifcobjecttypeenum",NULL )
|
||||||
, SchemaEntry("ifcthermalloadtypeenum",NULL )
|
, SchemaEntry("ifcthermalloadtypeenum",NULL )
|
||||||
, SchemaEntry("ifcionconcentrationmeasure",NULL )
|
, SchemaEntry("ifcionconcentrationmeasure",NULL )
|
||||||
, SchemaEntry("ifcobjectreferenceselect",NULL )
|
|
||||||
, SchemaEntry("ifcclassificationnotationselect",NULL )
|
, SchemaEntry("ifcclassificationnotationselect",NULL )
|
||||||
, SchemaEntry("ifcbsplinecurveform",NULL )
|
, SchemaEntry("ifcbsplinecurveform",NULL )
|
||||||
, SchemaEntry("ifcelementcompositionenum",NULL )
|
, SchemaEntry("ifcelementcompositionenum",NULL )
|
||||||
|
@ -158,6 +157,7 @@ namespace {
|
||||||
, SchemaEntry("ifcidentifier",NULL )
|
, SchemaEntry("ifcidentifier",NULL )
|
||||||
, SchemaEntry("ifcradioactivitymeasure",NULL )
|
, SchemaEntry("ifcradioactivitymeasure",NULL )
|
||||||
, SchemaEntry("ifcsymbolstyleselect",NULL )
|
, SchemaEntry("ifcsymbolstyleselect",NULL )
|
||||||
|
, SchemaEntry("ifcobjectreferenceselect",NULL )
|
||||||
, SchemaEntry("ifcrooftypeenum",NULL )
|
, SchemaEntry("ifcrooftypeenum",NULL )
|
||||||
, SchemaEntry("ifcreal",NULL )
|
, SchemaEntry("ifcreal",NULL )
|
||||||
, SchemaEntry("ifcroleenum",NULL )
|
, SchemaEntry("ifcroleenum",NULL )
|
||||||
|
@ -168,6 +168,7 @@ namespace {
|
||||||
, SchemaEntry("ifcfiltertypeenum",NULL )
|
, SchemaEntry("ifcfiltertypeenum",NULL )
|
||||||
, SchemaEntry("ifctransformertypeenum",NULL )
|
, SchemaEntry("ifctransformertypeenum",NULL )
|
||||||
, SchemaEntry("ifcsurfaceside",NULL )
|
, SchemaEntry("ifcsurfaceside",NULL )
|
||||||
|
, SchemaEntry("ifcspaceheatertypeenum",NULL )
|
||||||
, SchemaEntry("ifcthermaltransmittancemeasure",NULL )
|
, SchemaEntry("ifcthermaltransmittancemeasure",NULL )
|
||||||
, SchemaEntry("ifctubebundletypeenum",NULL )
|
, SchemaEntry("ifctubebundletypeenum",NULL )
|
||||||
, SchemaEntry("ifclightfixturetypeenum",NULL )
|
, SchemaEntry("ifclightfixturetypeenum",NULL )
|
||||||
|
@ -239,7 +240,6 @@ namespace {
|
||||||
, SchemaEntry("ifcvolumemeasure",NULL )
|
, SchemaEntry("ifcvolumemeasure",NULL )
|
||||||
, SchemaEntry("ifcbeamtypeenum",NULL )
|
, SchemaEntry("ifcbeamtypeenum",NULL )
|
||||||
, SchemaEntry("ifcstateenum",NULL )
|
, SchemaEntry("ifcstateenum",NULL )
|
||||||
, SchemaEntry("ifcspaceheatertypeenum",NULL )
|
|
||||||
, SchemaEntry("ifcsectiontypeenum",NULL )
|
, SchemaEntry("ifcsectiontypeenum",NULL )
|
||||||
, SchemaEntry("ifcfootingtypeenum",NULL )
|
, SchemaEntry("ifcfootingtypeenum",NULL )
|
||||||
, SchemaEntry("ifcmonetarymeasure",NULL )
|
, SchemaEntry("ifcmonetarymeasure",NULL )
|
||||||
|
@ -379,6 +379,9 @@ namespace {
|
||||||
, SchemaEntry("ifcpermeablecoveringoperationenum",NULL )
|
, SchemaEntry("ifcpermeablecoveringoperationenum",NULL )
|
||||||
, SchemaEntry("ifcmagneticfluxdensitymeasure",NULL )
|
, SchemaEntry("ifcmagneticfluxdensitymeasure",NULL )
|
||||||
, SchemaEntry("ifcmoisturediffusivitymeasure",NULL )
|
, SchemaEntry("ifcmoisturediffusivitymeasure",NULL )
|
||||||
|
, SchemaEntry("ifcprofiledef",&STEP::ObjectHelper<IfcProfileDef,2>::Construct )
|
||||||
|
, SchemaEntry("ifcparameterizedprofiledef",&STEP::ObjectHelper<IfcParameterizedProfileDef,1>::Construct )
|
||||||
|
, SchemaEntry("ifczshapeprofiledef",&STEP::ObjectHelper<IfcZShapeProfileDef,6>::Construct )
|
||||||
, SchemaEntry("ifcroot",&STEP::ObjectHelper<IfcRoot,4>::Construct )
|
, SchemaEntry("ifcroot",&STEP::ObjectHelper<IfcRoot,4>::Construct )
|
||||||
, SchemaEntry("ifcobjectdefinition",&STEP::ObjectHelper<IfcObjectDefinition,0>::Construct )
|
, SchemaEntry("ifcobjectdefinition",&STEP::ObjectHelper<IfcObjectDefinition,0>::Construct )
|
||||||
, SchemaEntry("ifctypeobject",&STEP::ObjectHelper<IfcTypeObject,2>::Construct )
|
, SchemaEntry("ifctypeobject",&STEP::ObjectHelper<IfcTypeObject,2>::Construct )
|
||||||
|
@ -463,7 +466,6 @@ namespace {
|
||||||
, SchemaEntry("ifcpredefineditem",&STEP::ObjectHelper<NotImplemented,0>::Construct )
|
, SchemaEntry("ifcpredefineditem",&STEP::ObjectHelper<NotImplemented,0>::Construct )
|
||||||
, SchemaEntry("ifcpredefinedcolour",&STEP::ObjectHelper<NotImplemented,0>::Construct )
|
, SchemaEntry("ifcpredefinedcolour",&STEP::ObjectHelper<NotImplemented,0>::Construct )
|
||||||
, SchemaEntry("ifcdraughtingpredefinedcolour",&STEP::ObjectHelper<NotImplemented,0>::Construct )
|
, SchemaEntry("ifcdraughtingpredefinedcolour",&STEP::ObjectHelper<NotImplemented,0>::Construct )
|
||||||
, SchemaEntry("ifcprofiledef",&STEP::ObjectHelper<IfcProfileDef,2>::Construct )
|
|
||||||
, SchemaEntry("ifcarbitraryclosedprofiledef",&STEP::ObjectHelper<IfcArbitraryClosedProfileDef,1>::Construct )
|
, SchemaEntry("ifcarbitraryclosedprofiledef",&STEP::ObjectHelper<IfcArbitraryClosedProfileDef,1>::Construct )
|
||||||
, SchemaEntry("ifccurve",&STEP::ObjectHelper<IfcCurve,0>::Construct )
|
, SchemaEntry("ifccurve",&STEP::ObjectHelper<IfcCurve,0>::Construct )
|
||||||
, SchemaEntry("ifcconic",&STEP::ObjectHelper<IfcConic,1>::Construct )
|
, SchemaEntry("ifcconic",&STEP::ObjectHelper<IfcConic,1>::Construct )
|
||||||
|
@ -550,6 +552,7 @@ namespace {
|
||||||
, SchemaEntry("ifcaxis1placement",&STEP::ObjectHelper<IfcAxis1Placement,1>::Construct )
|
, SchemaEntry("ifcaxis1placement",&STEP::ObjectHelper<IfcAxis1Placement,1>::Construct )
|
||||||
, SchemaEntry("ifclightintensitydistribution",&STEP::ObjectHelper<NotImplemented,0>::Construct )
|
, SchemaEntry("ifclightintensitydistribution",&STEP::ObjectHelper<NotImplemented,0>::Construct )
|
||||||
, SchemaEntry("ifcpredefinedsymbol",&STEP::ObjectHelper<NotImplemented,0>::Construct )
|
, SchemaEntry("ifcpredefinedsymbol",&STEP::ObjectHelper<NotImplemented,0>::Construct )
|
||||||
|
, SchemaEntry("ifccolourspecification",&STEP::ObjectHelper<IfcColourSpecification,1>::Construct )
|
||||||
, SchemaEntry("ifcstructuralpointaction",&STEP::ObjectHelper<IfcStructuralPointAction,0>::Construct )
|
, SchemaEntry("ifcstructuralpointaction",&STEP::ObjectHelper<IfcStructuralPointAction,0>::Construct )
|
||||||
, SchemaEntry("ifcspatialstructureelement",&STEP::ObjectHelper<IfcSpatialStructureElement,2>::Construct )
|
, SchemaEntry("ifcspatialstructureelement",&STEP::ObjectHelper<IfcSpatialStructureElement,2>::Construct )
|
||||||
, SchemaEntry("ifcspace",&STEP::ObjectHelper<IfcSpace,2>::Construct )
|
, SchemaEntry("ifcspace",&STEP::ObjectHelper<IfcSpace,2>::Construct )
|
||||||
|
@ -583,7 +586,6 @@ namespace {
|
||||||
, SchemaEntry("ifcvertex",&STEP::ObjectHelper<IfcVertex,0>::Construct )
|
, SchemaEntry("ifcvertex",&STEP::ObjectHelper<IfcVertex,0>::Construct )
|
||||||
, SchemaEntry("ifcvertexpoint",&STEP::ObjectHelper<IfcVertexPoint,1>::Construct )
|
, SchemaEntry("ifcvertexpoint",&STEP::ObjectHelper<IfcVertexPoint,1>::Construct )
|
||||||
, SchemaEntry("ifcflowinstrumenttype",&STEP::ObjectHelper<IfcFlowInstrumentType,1>::Construct )
|
, SchemaEntry("ifcflowinstrumenttype",&STEP::ObjectHelper<IfcFlowInstrumentType,1>::Construct )
|
||||||
, SchemaEntry("ifcparameterizedprofiledef",&STEP::ObjectHelper<IfcParameterizedProfileDef,1>::Construct )
|
|
||||||
, SchemaEntry("ifcushapeprofiledef",&STEP::ObjectHelper<IfcUShapeProfileDef,8>::Construct )
|
, SchemaEntry("ifcushapeprofiledef",&STEP::ObjectHelper<IfcUShapeProfileDef,8>::Construct )
|
||||||
, SchemaEntry("ifcramp",&STEP::ObjectHelper<IfcRamp,1>::Construct )
|
, SchemaEntry("ifcramp",&STEP::ObjectHelper<IfcRamp,1>::Construct )
|
||||||
, SchemaEntry("ifcfillareastyle",&STEP::ObjectHelper<NotImplemented,0>::Construct )
|
, SchemaEntry("ifcfillareastyle",&STEP::ObjectHelper<NotImplemented,0>::Construct )
|
||||||
|
@ -869,7 +871,6 @@ namespace {
|
||||||
, SchemaEntry("ifcrelaggregates",&STEP::ObjectHelper<IfcRelAggregates,0>::Construct )
|
, SchemaEntry("ifcrelaggregates",&STEP::ObjectHelper<IfcRelAggregates,0>::Construct )
|
||||||
, SchemaEntry("ifcboilertype",&STEP::ObjectHelper<IfcBoilerType,1>::Construct )
|
, SchemaEntry("ifcboilertype",&STEP::ObjectHelper<IfcBoilerType,1>::Construct )
|
||||||
, SchemaEntry("ifcrelprojectselement",&STEP::ObjectHelper<NotImplemented,0>::Construct )
|
, SchemaEntry("ifcrelprojectselement",&STEP::ObjectHelper<NotImplemented,0>::Construct )
|
||||||
, SchemaEntry("ifccolourspecification",&STEP::ObjectHelper<IfcColourSpecification,1>::Construct )
|
|
||||||
, SchemaEntry("ifccolourrgb",&STEP::ObjectHelper<IfcColourRgb,3>::Construct )
|
, SchemaEntry("ifccolourrgb",&STEP::ObjectHelper<IfcColourRgb,3>::Construct )
|
||||||
, SchemaEntry("ifcrelconnectsstructuralactivity",&STEP::ObjectHelper<NotImplemented,0>::Construct )
|
, SchemaEntry("ifcrelconnectsstructuralactivity",&STEP::ObjectHelper<NotImplemented,0>::Construct )
|
||||||
, SchemaEntry("ifcdoorstyle",&STEP::ObjectHelper<IfcDoorStyle,4>::Construct )
|
, SchemaEntry("ifcdoorstyle",&STEP::ObjectHelper<IfcDoorStyle,4>::Construct )
|
||||||
|
@ -881,7 +882,6 @@ namespace {
|
||||||
, SchemaEntry("ifcsensortype",&STEP::ObjectHelper<IfcSensorType,1>::Construct )
|
, SchemaEntry("ifcsensortype",&STEP::ObjectHelper<IfcSensorType,1>::Construct )
|
||||||
, SchemaEntry("ifcairterminalboxtype",&STEP::ObjectHelper<IfcAirTerminalBoxType,1>::Construct )
|
, SchemaEntry("ifcairterminalboxtype",&STEP::ObjectHelper<IfcAirTerminalBoxType,1>::Construct )
|
||||||
, SchemaEntry("ifcannotationsurfaceoccurrence",&STEP::ObjectHelper<IfcAnnotationSurfaceOccurrence,0>::Construct )
|
, SchemaEntry("ifcannotationsurfaceoccurrence",&STEP::ObjectHelper<IfcAnnotationSurfaceOccurrence,0>::Construct )
|
||||||
, SchemaEntry("ifczshapeprofiledef",&STEP::ObjectHelper<IfcZShapeProfileDef,6>::Construct )
|
|
||||||
, SchemaEntry("ifcclassificationnotation",&STEP::ObjectHelper<NotImplemented,0>::Construct )
|
, SchemaEntry("ifcclassificationnotation",&STEP::ObjectHelper<NotImplemented,0>::Construct )
|
||||||
, SchemaEntry("ifcrationalbeziercurve",&STEP::ObjectHelper<IfcRationalBezierCurve,1>::Construct )
|
, SchemaEntry("ifcrationalbeziercurve",&STEP::ObjectHelper<IfcRationalBezierCurve,1>::Construct )
|
||||||
, SchemaEntry("ifccartesiantransformationoperator2d",&STEP::ObjectHelper<IfcCartesianTransformationOperator2D,0>::Construct )
|
, SchemaEntry("ifccartesiantransformationoperator2d",&STEP::ObjectHelper<IfcCartesianTransformationOperator2D,0>::Construct )
|
||||||
|
@ -1052,6 +1052,44 @@ template <> size_t GenericFill<NotImplemented>(const STEP::DB& db, const LIST& p
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// -----------------------------------------------------------------------------------------------------------
|
||||||
|
template <> size_t GenericFill<IfcProfileDef>(const DB& db, const LIST& params, IfcProfileDef* in)
|
||||||
|
{
|
||||||
|
size_t base = 0;
|
||||||
|
if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to IfcProfileDef"); } do { // convert the 'ProfileType' argument
|
||||||
|
boost::shared_ptr<const DataType> arg = params[base++];
|
||||||
|
if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcProfileDef,2>::aux_is_derived[0]=true; break; }
|
||||||
|
try { GenericConvert( in->ProfileType, arg, db ); break; }
|
||||||
|
catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to IfcProfileDef to be a `IfcProfileTypeEnum`")); }
|
||||||
|
} while(0);
|
||||||
|
do { // convert the 'ProfileName' argument
|
||||||
|
boost::shared_ptr<const DataType> arg = params[base++];
|
||||||
|
if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcProfileDef,2>::aux_is_derived[1]=true; break; }
|
||||||
|
if (dynamic_cast<const UNSET*>(&*arg)) break;
|
||||||
|
try { GenericConvert( in->ProfileName, arg, db ); break; }
|
||||||
|
catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to IfcProfileDef to be a `IfcLabel`")); }
|
||||||
|
} while(0);
|
||||||
|
return base;
|
||||||
|
}
|
||||||
|
// -----------------------------------------------------------------------------------------------------------
|
||||||
|
template <> size_t GenericFill<IfcParameterizedProfileDef>(const DB& db, const LIST& params, IfcParameterizedProfileDef* in)
|
||||||
|
{
|
||||||
|
size_t base = GenericFill(db,params,static_cast<IfcProfileDef*>(in));
|
||||||
|
if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to IfcParameterizedProfileDef"); } do { // convert the 'Position' argument
|
||||||
|
boost::shared_ptr<const DataType> arg = params[base++];
|
||||||
|
if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcParameterizedProfileDef,1>::aux_is_derived[0]=true; break; }
|
||||||
|
try { GenericConvert( in->Position, arg, db ); break; }
|
||||||
|
catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to IfcParameterizedProfileDef to be a `IfcAxis2Placement2D`")); }
|
||||||
|
} while(0);
|
||||||
|
return base;
|
||||||
|
}
|
||||||
|
// -----------------------------------------------------------------------------------------------------------
|
||||||
|
template <> size_t GenericFill<IfcZShapeProfileDef>(const DB& db, const LIST& params, IfcZShapeProfileDef* in)
|
||||||
|
{
|
||||||
|
size_t base = GenericFill(db,params,static_cast<IfcParameterizedProfileDef*>(in));
|
||||||
|
// this data structure is not used yet, so there is no code generated to fill its members
|
||||||
|
return base;
|
||||||
|
}
|
||||||
// -----------------------------------------------------------------------------------------------------------
|
// -----------------------------------------------------------------------------------------------------------
|
||||||
template <> size_t GenericFill<IfcRoot>(const DB& db, const LIST& params, IfcRoot* in)
|
template <> size_t GenericFill<IfcRoot>(const DB& db, const LIST& params, IfcRoot* in)
|
||||||
{
|
{
|
||||||
|
@ -1519,25 +1557,6 @@ template <> size_t GenericFill<IfcPlacement>(const DB& db, const LIST& params, I
|
||||||
return base;
|
return base;
|
||||||
}
|
}
|
||||||
// -----------------------------------------------------------------------------------------------------------
|
// -----------------------------------------------------------------------------------------------------------
|
||||||
template <> size_t GenericFill<IfcProfileDef>(const DB& db, const LIST& params, IfcProfileDef* in)
|
|
||||||
{
|
|
||||||
size_t base = 0;
|
|
||||||
if (params.GetSize() < 2) { throw STEP::TypeError("expected 2 arguments to IfcProfileDef"); } do { // convert the 'ProfileType' argument
|
|
||||||
boost::shared_ptr<const DataType> arg = params[base++];
|
|
||||||
if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcProfileDef,2>::aux_is_derived[0]=true; break; }
|
|
||||||
try { GenericConvert( in->ProfileType, arg, db ); break; }
|
|
||||||
catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to IfcProfileDef to be a `IfcProfileTypeEnum`")); }
|
|
||||||
} while(0);
|
|
||||||
do { // convert the 'ProfileName' argument
|
|
||||||
boost::shared_ptr<const DataType> arg = params[base++];
|
|
||||||
if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcProfileDef,2>::aux_is_derived[1]=true; break; }
|
|
||||||
if (dynamic_cast<const UNSET*>(&*arg)) break;
|
|
||||||
try { GenericConvert( in->ProfileName, arg, db ); break; }
|
|
||||||
catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to IfcProfileDef to be a `IfcLabel`")); }
|
|
||||||
} while(0);
|
|
||||||
return base;
|
|
||||||
}
|
|
||||||
// -----------------------------------------------------------------------------------------------------------
|
|
||||||
template <> size_t GenericFill<IfcArbitraryClosedProfileDef>(const DB& db, const LIST& params, IfcArbitraryClosedProfileDef* in)
|
template <> size_t GenericFill<IfcArbitraryClosedProfileDef>(const DB& db, const LIST& params, IfcArbitraryClosedProfileDef* in)
|
||||||
{
|
{
|
||||||
size_t base = GenericFill(db,params,static_cast<IfcProfileDef*>(in));
|
size_t base = GenericFill(db,params,static_cast<IfcProfileDef*>(in));
|
||||||
|
@ -2068,6 +2087,19 @@ template <> size_t GenericFill<IfcAxis1Placement>(const DB& db, const LIST& para
|
||||||
return base;
|
return base;
|
||||||
}
|
}
|
||||||
// -----------------------------------------------------------------------------------------------------------
|
// -----------------------------------------------------------------------------------------------------------
|
||||||
|
template <> size_t GenericFill<IfcColourSpecification>(const DB& db, const LIST& params, IfcColourSpecification* in)
|
||||||
|
{
|
||||||
|
size_t base = 0;
|
||||||
|
if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to IfcColourSpecification"); } do { // convert the 'Name' argument
|
||||||
|
boost::shared_ptr<const DataType> arg = params[base++];
|
||||||
|
if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcColourSpecification,1>::aux_is_derived[0]=true; break; }
|
||||||
|
if (dynamic_cast<const UNSET*>(&*arg)) break;
|
||||||
|
try { GenericConvert( in->Name, arg, db ); break; }
|
||||||
|
catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to IfcColourSpecification to be a `IfcLabel`")); }
|
||||||
|
} while(0);
|
||||||
|
return base;
|
||||||
|
}
|
||||||
|
// -----------------------------------------------------------------------------------------------------------
|
||||||
template <> size_t GenericFill<IfcStructuralPointAction>(const DB& db, const LIST& params, IfcStructuralPointAction* in)
|
template <> size_t GenericFill<IfcStructuralPointAction>(const DB& db, const LIST& params, IfcStructuralPointAction* in)
|
||||||
{
|
{
|
||||||
size_t base = GenericFill(db,params,static_cast<IfcStructuralAction*>(in));
|
size_t base = GenericFill(db,params,static_cast<IfcStructuralAction*>(in));
|
||||||
|
@ -2236,18 +2268,6 @@ template <> size_t GenericFill<IfcFlowInstrumentType>(const DB& db, const LIST&
|
||||||
return base;
|
return base;
|
||||||
}
|
}
|
||||||
// -----------------------------------------------------------------------------------------------------------
|
// -----------------------------------------------------------------------------------------------------------
|
||||||
template <> size_t GenericFill<IfcParameterizedProfileDef>(const DB& db, const LIST& params, IfcParameterizedProfileDef* in)
|
|
||||||
{
|
|
||||||
size_t base = GenericFill(db,params,static_cast<IfcProfileDef*>(in));
|
|
||||||
if (params.GetSize() < 3) { throw STEP::TypeError("expected 3 arguments to IfcParameterizedProfileDef"); } do { // convert the 'Position' argument
|
|
||||||
boost::shared_ptr<const DataType> arg = params[base++];
|
|
||||||
if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcParameterizedProfileDef,1>::aux_is_derived[0]=true; break; }
|
|
||||||
try { GenericConvert( in->Position, arg, db ); break; }
|
|
||||||
catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to IfcParameterizedProfileDef to be a `IfcAxis2Placement2D`")); }
|
|
||||||
} while(0);
|
|
||||||
return base;
|
|
||||||
}
|
|
||||||
// -----------------------------------------------------------------------------------------------------------
|
|
||||||
template <> size_t GenericFill<IfcUShapeProfileDef>(const DB& db, const LIST& params, IfcUShapeProfileDef* in)
|
template <> size_t GenericFill<IfcUShapeProfileDef>(const DB& db, const LIST& params, IfcUShapeProfileDef* in)
|
||||||
{
|
{
|
||||||
size_t base = GenericFill(db,params,static_cast<IfcParameterizedProfileDef*>(in));
|
size_t base = GenericFill(db,params,static_cast<IfcParameterizedProfileDef*>(in));
|
||||||
|
@ -3375,7 +3395,32 @@ template <> size_t GenericFill<IfcSubContractResource>(const DB& db, const LIST&
|
||||||
template <> size_t GenericFill<IfcSweptDiskSolid>(const DB& db, const LIST& params, IfcSweptDiskSolid* in)
|
template <> size_t GenericFill<IfcSweptDiskSolid>(const DB& db, const LIST& params, IfcSweptDiskSolid* in)
|
||||||
{
|
{
|
||||||
size_t base = GenericFill(db,params,static_cast<IfcSolidModel*>(in));
|
size_t base = GenericFill(db,params,static_cast<IfcSolidModel*>(in));
|
||||||
// this data structure is not used yet, so there is no code generated to fill its members
|
if (params.GetSize() < 5) { throw STEP::TypeError("expected 5 arguments to IfcSweptDiskSolid"); } do { // convert the 'Directrix' argument
|
||||||
|
boost::shared_ptr<const DataType> arg = params[base++];
|
||||||
|
try { GenericConvert( in->Directrix, arg, db ); break; }
|
||||||
|
catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to IfcSweptDiskSolid to be a `IfcCurve`")); }
|
||||||
|
} while(0);
|
||||||
|
do { // convert the 'Radius' argument
|
||||||
|
boost::shared_ptr<const DataType> arg = params[base++];
|
||||||
|
try { GenericConvert( in->Radius, arg, db ); break; }
|
||||||
|
catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 1 to IfcSweptDiskSolid to be a `IfcPositiveLengthMeasure`")); }
|
||||||
|
} while(0);
|
||||||
|
do { // convert the 'InnerRadius' argument
|
||||||
|
boost::shared_ptr<const DataType> arg = params[base++];
|
||||||
|
if (dynamic_cast<const UNSET*>(&*arg)) break;
|
||||||
|
try { GenericConvert( in->InnerRadius, arg, db ); break; }
|
||||||
|
catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 2 to IfcSweptDiskSolid to be a `IfcPositiveLengthMeasure`")); }
|
||||||
|
} while(0);
|
||||||
|
do { // convert the 'StartParam' argument
|
||||||
|
boost::shared_ptr<const DataType> arg = params[base++];
|
||||||
|
try { GenericConvert( in->StartParam, arg, db ); break; }
|
||||||
|
catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 3 to IfcSweptDiskSolid to be a `IfcParameterValue`")); }
|
||||||
|
} while(0);
|
||||||
|
do { // convert the 'EndParam' argument
|
||||||
|
boost::shared_ptr<const DataType> arg = params[base++];
|
||||||
|
try { GenericConvert( in->EndParam, arg, db ); break; }
|
||||||
|
catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 4 to IfcSweptDiskSolid to be a `IfcParameterValue`")); }
|
||||||
|
} while(0);
|
||||||
return base;
|
return base;
|
||||||
}
|
}
|
||||||
// -----------------------------------------------------------------------------------------------------------
|
// -----------------------------------------------------------------------------------------------------------
|
||||||
|
@ -3980,19 +4025,6 @@ template <> size_t GenericFill<IfcBoilerType>(const DB& db, const LIST& params,
|
||||||
return base;
|
return base;
|
||||||
}
|
}
|
||||||
// -----------------------------------------------------------------------------------------------------------
|
// -----------------------------------------------------------------------------------------------------------
|
||||||
template <> size_t GenericFill<IfcColourSpecification>(const DB& db, const LIST& params, IfcColourSpecification* in)
|
|
||||||
{
|
|
||||||
size_t base = 0;
|
|
||||||
if (params.GetSize() < 1) { throw STEP::TypeError("expected 1 arguments to IfcColourSpecification"); } do { // convert the 'Name' argument
|
|
||||||
boost::shared_ptr<const DataType> arg = params[base++];
|
|
||||||
if (dynamic_cast<const ISDERIVED*>(&*arg)) { in->ObjectHelper<Assimp::IFC::IfcColourSpecification,1>::aux_is_derived[0]=true; break; }
|
|
||||||
if (dynamic_cast<const UNSET*>(&*arg)) break;
|
|
||||||
try { GenericConvert( in->Name, arg, db ); break; }
|
|
||||||
catch (const TypeError& t) { throw TypeError(t.what() + std::string(" - expected argument 0 to IfcColourSpecification to be a `IfcLabel`")); }
|
|
||||||
} while(0);
|
|
||||||
return base;
|
|
||||||
}
|
|
||||||
// -----------------------------------------------------------------------------------------------------------
|
|
||||||
template <> size_t GenericFill<IfcColourRgb>(const DB& db, const LIST& params, IfcColourRgb* in)
|
template <> size_t GenericFill<IfcColourRgb>(const DB& db, const LIST& params, IfcColourRgb* in)
|
||||||
{
|
{
|
||||||
size_t base = GenericFill(db,params,static_cast<IfcColourSpecification*>(in));
|
size_t base = GenericFill(db,params,static_cast<IfcColourSpecification*>(in));
|
||||||
|
@ -4063,13 +4095,6 @@ template <> size_t GenericFill<IfcAnnotationSurfaceOccurrence>(const DB& db, con
|
||||||
return base;
|
return base;
|
||||||
}
|
}
|
||||||
// -----------------------------------------------------------------------------------------------------------
|
// -----------------------------------------------------------------------------------------------------------
|
||||||
template <> size_t GenericFill<IfcZShapeProfileDef>(const DB& db, const LIST& params, IfcZShapeProfileDef* in)
|
|
||||||
{
|
|
||||||
size_t base = GenericFill(db,params,static_cast<IfcParameterizedProfileDef*>(in));
|
|
||||||
// this data structure is not used yet, so there is no code generated to fill its members
|
|
||||||
return base;
|
|
||||||
}
|
|
||||||
// -----------------------------------------------------------------------------------------------------------
|
|
||||||
template <> size_t GenericFill<IfcRationalBezierCurve>(const DB& db, const LIST& params, IfcRationalBezierCurve* in)
|
template <> size_t GenericFill<IfcRationalBezierCurve>(const DB& db, const LIST& params, IfcRationalBezierCurve* in)
|
||||||
{
|
{
|
||||||
size_t base = GenericFill(db,params,static_cast<IfcBezierCurve*>(in));
|
size_t base = GenericFill(db,params,static_cast<IfcBezierCurve*>(in));
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
/*
|
/*
|
||||||
Open Asset Import Library (assimp)
|
Open Asset Import Library (ASSIMP)
|
||||||
----------------------------------------------------------------------
|
----------------------------------------------------------------------
|
||||||
|
|
||||||
Copyright (c) 2006-2012, assimp team
|
Copyright (c) 2006-2010, ASSIMP Development Team
|
||||||
All rights reserved.
|
All rights reserved.
|
||||||
|
|
||||||
Redistribution and use of this software in source and binary forms,
|
Redistribution and use of this software in source and binary forms,
|
||||||
|
@ -18,10 +18,10 @@ following conditions are met:
|
||||||
following disclaimer in the documentation and/or other
|
following disclaimer in the documentation and/or other
|
||||||
materials provided with the distribution.
|
materials provided with the distribution.
|
||||||
|
|
||||||
* Neither the name of the assimp team, nor the names of its
|
* Neither the name of the ASSIMP team, nor the names of its
|
||||||
contributors may be used to endorse or promote products
|
contributors may be used to endorse or promote products
|
||||||
derived from this software without specific prior
|
derived from this software without specific prior
|
||||||
written permission of the assimp team.
|
written permission of the ASSIMP Development Team.
|
||||||
|
|
||||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||||
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||||
|
@ -149,8 +149,6 @@ namespace IFC {
|
||||||
typedef ENUMERATION IfcThermalLoadTypeEnum;
|
typedef ENUMERATION IfcThermalLoadTypeEnum;
|
||||||
// C++ wrapper type for IfcIonConcentrationMeasure
|
// C++ wrapper type for IfcIonConcentrationMeasure
|
||||||
typedef REAL IfcIonConcentrationMeasure;
|
typedef REAL IfcIonConcentrationMeasure;
|
||||||
// C++ wrapper type for IfcObjectReferenceSelect
|
|
||||||
typedef SELECT IfcObjectReferenceSelect;
|
|
||||||
// C++ wrapper type for IfcClassificationNotationSelect
|
// C++ wrapper type for IfcClassificationNotationSelect
|
||||||
typedef SELECT IfcClassificationNotationSelect;
|
typedef SELECT IfcClassificationNotationSelect;
|
||||||
// C++ wrapper type for IfcBSplineCurveForm
|
// C++ wrapper type for IfcBSplineCurveForm
|
||||||
|
@ -273,6 +271,8 @@ namespace IFC {
|
||||||
typedef REAL IfcRadioActivityMeasure;
|
typedef REAL IfcRadioActivityMeasure;
|
||||||
// C++ wrapper type for IfcSymbolStyleSelect
|
// C++ wrapper type for IfcSymbolStyleSelect
|
||||||
typedef SELECT IfcSymbolStyleSelect;
|
typedef SELECT IfcSymbolStyleSelect;
|
||||||
|
// C++ wrapper type for IfcObjectReferenceSelect
|
||||||
|
typedef SELECT IfcObjectReferenceSelect;
|
||||||
// C++ wrapper type for IfcRoofTypeEnum
|
// C++ wrapper type for IfcRoofTypeEnum
|
||||||
typedef ENUMERATION IfcRoofTypeEnum;
|
typedef ENUMERATION IfcRoofTypeEnum;
|
||||||
// C++ wrapper type for IfcReal
|
// C++ wrapper type for IfcReal
|
||||||
|
@ -293,6 +293,8 @@ namespace IFC {
|
||||||
typedef ENUMERATION IfcTransformerTypeEnum;
|
typedef ENUMERATION IfcTransformerTypeEnum;
|
||||||
// C++ wrapper type for IfcSurfaceSide
|
// C++ wrapper type for IfcSurfaceSide
|
||||||
typedef ENUMERATION IfcSurfaceSide;
|
typedef ENUMERATION IfcSurfaceSide;
|
||||||
|
// C++ wrapper type for IfcSpaceHeaterTypeEnum
|
||||||
|
typedef ENUMERATION IfcSpaceHeaterTypeEnum;
|
||||||
// C++ wrapper type for IfcThermalTransmittanceMeasure
|
// C++ wrapper type for IfcThermalTransmittanceMeasure
|
||||||
typedef REAL IfcThermalTransmittanceMeasure;
|
typedef REAL IfcThermalTransmittanceMeasure;
|
||||||
// C++ wrapper type for IfcTubeBundleTypeEnum
|
// C++ wrapper type for IfcTubeBundleTypeEnum
|
||||||
|
@ -433,8 +435,6 @@ namespace IFC {
|
||||||
typedef ENUMERATION IfcBeamTypeEnum;
|
typedef ENUMERATION IfcBeamTypeEnum;
|
||||||
// C++ wrapper type for IfcStateEnum
|
// C++ wrapper type for IfcStateEnum
|
||||||
typedef ENUMERATION IfcStateEnum;
|
typedef ENUMERATION IfcStateEnum;
|
||||||
// C++ wrapper type for IfcSpaceHeaterTypeEnum
|
|
||||||
typedef ENUMERATION IfcSpaceHeaterTypeEnum;
|
|
||||||
// C++ wrapper type for IfcSectionTypeEnum
|
// C++ wrapper type for IfcSectionTypeEnum
|
||||||
typedef ENUMERATION IfcSectionTypeEnum;
|
typedef ENUMERATION IfcSectionTypeEnum;
|
||||||
// C++ wrapper type for IfcFootingTypeEnum
|
// C++ wrapper type for IfcFootingTypeEnum
|
||||||
|
@ -719,6 +719,9 @@ namespace IFC {
|
||||||
// IFC Entities
|
// IFC Entities
|
||||||
// ******************************************************************************
|
// ******************************************************************************
|
||||||
|
|
||||||
|
struct IfcProfileDef;
|
||||||
|
struct IfcParameterizedProfileDef;
|
||||||
|
struct IfcZShapeProfileDef;
|
||||||
struct IfcRoot;
|
struct IfcRoot;
|
||||||
struct IfcObjectDefinition;
|
struct IfcObjectDefinition;
|
||||||
struct IfcTypeObject;
|
struct IfcTypeObject;
|
||||||
|
@ -803,7 +806,6 @@ namespace IFC {
|
||||||
typedef NotImplemented IfcPreDefinedItem; // (not currently used by Assimp)
|
typedef NotImplemented IfcPreDefinedItem; // (not currently used by Assimp)
|
||||||
typedef NotImplemented IfcPreDefinedColour; // (not currently used by Assimp)
|
typedef NotImplemented IfcPreDefinedColour; // (not currently used by Assimp)
|
||||||
typedef NotImplemented IfcDraughtingPreDefinedColour; // (not currently used by Assimp)
|
typedef NotImplemented IfcDraughtingPreDefinedColour; // (not currently used by Assimp)
|
||||||
struct IfcProfileDef;
|
|
||||||
struct IfcArbitraryClosedProfileDef;
|
struct IfcArbitraryClosedProfileDef;
|
||||||
struct IfcCurve;
|
struct IfcCurve;
|
||||||
struct IfcConic;
|
struct IfcConic;
|
||||||
|
@ -890,6 +892,7 @@ namespace IFC {
|
||||||
struct IfcAxis1Placement;
|
struct IfcAxis1Placement;
|
||||||
typedef NotImplemented IfcLightIntensityDistribution; // (not currently used by Assimp)
|
typedef NotImplemented IfcLightIntensityDistribution; // (not currently used by Assimp)
|
||||||
typedef NotImplemented IfcPreDefinedSymbol; // (not currently used by Assimp)
|
typedef NotImplemented IfcPreDefinedSymbol; // (not currently used by Assimp)
|
||||||
|
struct IfcColourSpecification;
|
||||||
struct IfcStructuralPointAction;
|
struct IfcStructuralPointAction;
|
||||||
struct IfcSpatialStructureElement;
|
struct IfcSpatialStructureElement;
|
||||||
struct IfcSpace;
|
struct IfcSpace;
|
||||||
|
@ -923,7 +926,6 @@ namespace IFC {
|
||||||
struct IfcVertex;
|
struct IfcVertex;
|
||||||
struct IfcVertexPoint;
|
struct IfcVertexPoint;
|
||||||
struct IfcFlowInstrumentType;
|
struct IfcFlowInstrumentType;
|
||||||
struct IfcParameterizedProfileDef;
|
|
||||||
struct IfcUShapeProfileDef;
|
struct IfcUShapeProfileDef;
|
||||||
struct IfcRamp;
|
struct IfcRamp;
|
||||||
typedef NotImplemented IfcFillAreaStyle; // (not currently used by Assimp)
|
typedef NotImplemented IfcFillAreaStyle; // (not currently used by Assimp)
|
||||||
|
@ -1209,7 +1211,6 @@ namespace IFC {
|
||||||
struct IfcRelAggregates;
|
struct IfcRelAggregates;
|
||||||
struct IfcBoilerType;
|
struct IfcBoilerType;
|
||||||
typedef NotImplemented IfcRelProjectsElement; // (not currently used by Assimp)
|
typedef NotImplemented IfcRelProjectsElement; // (not currently used by Assimp)
|
||||||
struct IfcColourSpecification;
|
|
||||||
struct IfcColourRgb;
|
struct IfcColourRgb;
|
||||||
typedef NotImplemented IfcRelConnectsStructuralActivity; // (not currently used by Assimp)
|
typedef NotImplemented IfcRelConnectsStructuralActivity; // (not currently used by Assimp)
|
||||||
struct IfcDoorStyle;
|
struct IfcDoorStyle;
|
||||||
|
@ -1221,7 +1222,6 @@ namespace IFC {
|
||||||
struct IfcSensorType;
|
struct IfcSensorType;
|
||||||
struct IfcAirTerminalBoxType;
|
struct IfcAirTerminalBoxType;
|
||||||
struct IfcAnnotationSurfaceOccurrence;
|
struct IfcAnnotationSurfaceOccurrence;
|
||||||
struct IfcZShapeProfileDef;
|
|
||||||
typedef NotImplemented IfcClassificationNotation; // (not currently used by Assimp)
|
typedef NotImplemented IfcClassificationNotation; // (not currently used by Assimp)
|
||||||
struct IfcRationalBezierCurve;
|
struct IfcRationalBezierCurve;
|
||||||
struct IfcCartesianTransformationOperator2D;
|
struct IfcCartesianTransformationOperator2D;
|
||||||
|
@ -1375,6 +1375,27 @@ namespace IFC {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// C++ wrapper for IfcProfileDef
|
||||||
|
struct IfcProfileDef : ObjectHelper<IfcProfileDef,2> { IfcProfileDef() : Object("IfcProfileDef") {}
|
||||||
|
IfcProfileTypeEnum::Out ProfileType;
|
||||||
|
Maybe< IfcLabel::Out > ProfileName;
|
||||||
|
};
|
||||||
|
|
||||||
|
// C++ wrapper for IfcParameterizedProfileDef
|
||||||
|
struct IfcParameterizedProfileDef : IfcProfileDef, ObjectHelper<IfcParameterizedProfileDef,1> { IfcParameterizedProfileDef() : Object("IfcParameterizedProfileDef") {}
|
||||||
|
Lazy< IfcAxis2Placement2D > Position;
|
||||||
|
};
|
||||||
|
|
||||||
|
// C++ wrapper for IfcZShapeProfileDef
|
||||||
|
struct IfcZShapeProfileDef : IfcParameterizedProfileDef, ObjectHelper<IfcZShapeProfileDef,6> { IfcZShapeProfileDef() : Object("IfcZShapeProfileDef") {}
|
||||||
|
IfcPositiveLengthMeasure::Out Depth;
|
||||||
|
IfcPositiveLengthMeasure::Out FlangeWidth;
|
||||||
|
IfcPositiveLengthMeasure::Out WebThickness;
|
||||||
|
IfcPositiveLengthMeasure::Out FlangeThickness;
|
||||||
|
Maybe< IfcPositiveLengthMeasure::Out > FilletRadius;
|
||||||
|
Maybe< IfcPositiveLengthMeasure::Out > EdgeRadius;
|
||||||
|
};
|
||||||
|
|
||||||
// C++ wrapper for IfcRoot
|
// C++ wrapper for IfcRoot
|
||||||
struct IfcRoot : ObjectHelper<IfcRoot,4> { IfcRoot() : Object("IfcRoot") {}
|
struct IfcRoot : ObjectHelper<IfcRoot,4> { IfcRoot() : Object("IfcRoot") {}
|
||||||
IfcGloballyUniqueId::Out GlobalId;
|
IfcGloballyUniqueId::Out GlobalId;
|
||||||
|
@ -1654,12 +1675,6 @@ namespace IFC {
|
||||||
Lazy< IfcCartesianPoint > Location;
|
Lazy< IfcCartesianPoint > Location;
|
||||||
};
|
};
|
||||||
|
|
||||||
// C++ wrapper for IfcProfileDef
|
|
||||||
struct IfcProfileDef : ObjectHelper<IfcProfileDef,2> { IfcProfileDef() : Object("IfcProfileDef") {}
|
|
||||||
IfcProfileTypeEnum::Out ProfileType;
|
|
||||||
Maybe< IfcLabel::Out > ProfileName;
|
|
||||||
};
|
|
||||||
|
|
||||||
// C++ wrapper for IfcArbitraryClosedProfileDef
|
// C++ wrapper for IfcArbitraryClosedProfileDef
|
||||||
struct IfcArbitraryClosedProfileDef : IfcProfileDef, ObjectHelper<IfcArbitraryClosedProfileDef,1> { IfcArbitraryClosedProfileDef() : Object("IfcArbitraryClosedProfileDef") {}
|
struct IfcArbitraryClosedProfileDef : IfcProfileDef, ObjectHelper<IfcArbitraryClosedProfileDef,1> { IfcArbitraryClosedProfileDef() : Object("IfcArbitraryClosedProfileDef") {}
|
||||||
Lazy< IfcCurve > OuterCurve;
|
Lazy< IfcCurve > OuterCurve;
|
||||||
|
@ -1997,6 +2012,11 @@ namespace IFC {
|
||||||
Maybe< Lazy< IfcDirection > > Axis;
|
Maybe< Lazy< IfcDirection > > Axis;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// C++ wrapper for IfcColourSpecification
|
||||||
|
struct IfcColourSpecification : ObjectHelper<IfcColourSpecification,1> { IfcColourSpecification() : Object("IfcColourSpecification") {}
|
||||||
|
Maybe< IfcLabel::Out > Name;
|
||||||
|
};
|
||||||
|
|
||||||
// C++ wrapper for IfcStructuralPointAction
|
// C++ wrapper for IfcStructuralPointAction
|
||||||
struct IfcStructuralPointAction : IfcStructuralAction, ObjectHelper<IfcStructuralPointAction,0> { IfcStructuralPointAction() : Object("IfcStructuralPointAction") {}
|
struct IfcStructuralPointAction : IfcStructuralAction, ObjectHelper<IfcStructuralPointAction,0> { IfcStructuralPointAction() : Object("IfcStructuralPointAction") {}
|
||||||
|
|
||||||
|
@ -2103,11 +2123,6 @@ namespace IFC {
|
||||||
IfcFlowInstrumentTypeEnum::Out PredefinedType;
|
IfcFlowInstrumentTypeEnum::Out PredefinedType;
|
||||||
};
|
};
|
||||||
|
|
||||||
// C++ wrapper for IfcParameterizedProfileDef
|
|
||||||
struct IfcParameterizedProfileDef : IfcProfileDef, ObjectHelper<IfcParameterizedProfileDef,1> { IfcParameterizedProfileDef() : Object("IfcParameterizedProfileDef") {}
|
|
||||||
Lazy< IfcAxis2Placement2D > Position;
|
|
||||||
};
|
|
||||||
|
|
||||||
// C++ wrapper for IfcUShapeProfileDef
|
// C++ wrapper for IfcUShapeProfileDef
|
||||||
struct IfcUShapeProfileDef : IfcParameterizedProfileDef, ObjectHelper<IfcUShapeProfileDef,8> { IfcUShapeProfileDef() : Object("IfcUShapeProfileDef") {}
|
struct IfcUShapeProfileDef : IfcParameterizedProfileDef, ObjectHelper<IfcUShapeProfileDef,8> { IfcUShapeProfileDef() : Object("IfcUShapeProfileDef") {}
|
||||||
IfcPositiveLengthMeasure::Out Depth;
|
IfcPositiveLengthMeasure::Out Depth;
|
||||||
|
@ -3215,11 +3230,6 @@ namespace IFC {
|
||||||
IfcBoilerTypeEnum::Out PredefinedType;
|
IfcBoilerTypeEnum::Out PredefinedType;
|
||||||
};
|
};
|
||||||
|
|
||||||
// C++ wrapper for IfcColourSpecification
|
|
||||||
struct IfcColourSpecification : ObjectHelper<IfcColourSpecification,1> { IfcColourSpecification() : Object("IfcColourSpecification") {}
|
|
||||||
Maybe< IfcLabel::Out > Name;
|
|
||||||
};
|
|
||||||
|
|
||||||
// C++ wrapper for IfcColourRgb
|
// C++ wrapper for IfcColourRgb
|
||||||
struct IfcColourRgb : IfcColourSpecification, ObjectHelper<IfcColourRgb,3> { IfcColourRgb() : Object("IfcColourRgb") {}
|
struct IfcColourRgb : IfcColourSpecification, ObjectHelper<IfcColourRgb,3> { IfcColourRgb() : Object("IfcColourRgb") {}
|
||||||
IfcNormalisedRatioMeasure::Out Red;
|
IfcNormalisedRatioMeasure::Out Red;
|
||||||
|
@ -3270,16 +3280,6 @@ namespace IFC {
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
// C++ wrapper for IfcZShapeProfileDef
|
|
||||||
struct IfcZShapeProfileDef : IfcParameterizedProfileDef, ObjectHelper<IfcZShapeProfileDef,6> { IfcZShapeProfileDef() : Object("IfcZShapeProfileDef") {}
|
|
||||||
IfcPositiveLengthMeasure::Out Depth;
|
|
||||||
IfcPositiveLengthMeasure::Out FlangeWidth;
|
|
||||||
IfcPositiveLengthMeasure::Out WebThickness;
|
|
||||||
IfcPositiveLengthMeasure::Out FlangeThickness;
|
|
||||||
Maybe< IfcPositiveLengthMeasure::Out > FilletRadius;
|
|
||||||
Maybe< IfcPositiveLengthMeasure::Out > EdgeRadius;
|
|
||||||
};
|
|
||||||
|
|
||||||
// C++ wrapper for IfcRationalBezierCurve
|
// C++ wrapper for IfcRationalBezierCurve
|
||||||
struct IfcRationalBezierCurve : IfcBezierCurve, ObjectHelper<IfcRationalBezierCurve,1> { IfcRationalBezierCurve() : Object("IfcRationalBezierCurve") {}
|
struct IfcRationalBezierCurve : IfcBezierCurve, ObjectHelper<IfcRationalBezierCurve,1> { IfcRationalBezierCurve() : Object("IfcRationalBezierCurve") {}
|
||||||
ListOf< REAL, 2, 0 >::Out WeightsData;
|
ListOf< REAL, 2, 0 >::Out WeightsData;
|
||||||
|
@ -3829,6 +3829,9 @@ namespace STEP {
|
||||||
|
|
||||||
#define DECL_CONV_STUB(type) template <> size_t GenericFill<IFC::type>(const STEP::DB& db, const EXPRESS::LIST& params, IFC::type* in)
|
#define DECL_CONV_STUB(type) template <> size_t GenericFill<IFC::type>(const STEP::DB& db, const EXPRESS::LIST& params, IFC::type* in)
|
||||||
|
|
||||||
|
DECL_CONV_STUB(IfcProfileDef);
|
||||||
|
DECL_CONV_STUB(IfcParameterizedProfileDef);
|
||||||
|
DECL_CONV_STUB(IfcZShapeProfileDef);
|
||||||
DECL_CONV_STUB(IfcRoot);
|
DECL_CONV_STUB(IfcRoot);
|
||||||
DECL_CONV_STUB(IfcObjectDefinition);
|
DECL_CONV_STUB(IfcObjectDefinition);
|
||||||
DECL_CONV_STUB(IfcTypeObject);
|
DECL_CONV_STUB(IfcTypeObject);
|
||||||
|
@ -3880,7 +3883,6 @@ namespace STEP {
|
||||||
DECL_CONV_STUB(IfcUnitaryEquipmentType);
|
DECL_CONV_STUB(IfcUnitaryEquipmentType);
|
||||||
DECL_CONV_STUB(IfcPort);
|
DECL_CONV_STUB(IfcPort);
|
||||||
DECL_CONV_STUB(IfcPlacement);
|
DECL_CONV_STUB(IfcPlacement);
|
||||||
DECL_CONV_STUB(IfcProfileDef);
|
|
||||||
DECL_CONV_STUB(IfcArbitraryClosedProfileDef);
|
DECL_CONV_STUB(IfcArbitraryClosedProfileDef);
|
||||||
DECL_CONV_STUB(IfcCurve);
|
DECL_CONV_STUB(IfcCurve);
|
||||||
DECL_CONV_STUB(IfcConic);
|
DECL_CONV_STUB(IfcConic);
|
||||||
|
@ -3943,6 +3945,7 @@ namespace STEP {
|
||||||
DECL_CONV_STUB(IfcDimensionCurve);
|
DECL_CONV_STUB(IfcDimensionCurve);
|
||||||
DECL_CONV_STUB(IfcBoundedCurve);
|
DECL_CONV_STUB(IfcBoundedCurve);
|
||||||
DECL_CONV_STUB(IfcAxis1Placement);
|
DECL_CONV_STUB(IfcAxis1Placement);
|
||||||
|
DECL_CONV_STUB(IfcColourSpecification);
|
||||||
DECL_CONV_STUB(IfcStructuralPointAction);
|
DECL_CONV_STUB(IfcStructuralPointAction);
|
||||||
DECL_CONV_STUB(IfcSpatialStructureElement);
|
DECL_CONV_STUB(IfcSpatialStructureElement);
|
||||||
DECL_CONV_STUB(IfcSpace);
|
DECL_CONV_STUB(IfcSpace);
|
||||||
|
@ -3963,7 +3966,6 @@ namespace STEP {
|
||||||
DECL_CONV_STUB(IfcVertex);
|
DECL_CONV_STUB(IfcVertex);
|
||||||
DECL_CONV_STUB(IfcVertexPoint);
|
DECL_CONV_STUB(IfcVertexPoint);
|
||||||
DECL_CONV_STUB(IfcFlowInstrumentType);
|
DECL_CONV_STUB(IfcFlowInstrumentType);
|
||||||
DECL_CONV_STUB(IfcParameterizedProfileDef);
|
|
||||||
DECL_CONV_STUB(IfcUShapeProfileDef);
|
DECL_CONV_STUB(IfcUShapeProfileDef);
|
||||||
DECL_CONV_STUB(IfcRamp);
|
DECL_CONV_STUB(IfcRamp);
|
||||||
DECL_CONV_STUB(IfcCompositeCurve);
|
DECL_CONV_STUB(IfcCompositeCurve);
|
||||||
|
@ -4150,7 +4152,6 @@ namespace STEP {
|
||||||
DECL_CONV_STUB(IfcConstructionMaterialResource);
|
DECL_CONV_STUB(IfcConstructionMaterialResource);
|
||||||
DECL_CONV_STUB(IfcRelAggregates);
|
DECL_CONV_STUB(IfcRelAggregates);
|
||||||
DECL_CONV_STUB(IfcBoilerType);
|
DECL_CONV_STUB(IfcBoilerType);
|
||||||
DECL_CONV_STUB(IfcColourSpecification);
|
|
||||||
DECL_CONV_STUB(IfcColourRgb);
|
DECL_CONV_STUB(IfcColourRgb);
|
||||||
DECL_CONV_STUB(IfcDoorStyle);
|
DECL_CONV_STUB(IfcDoorStyle);
|
||||||
DECL_CONV_STUB(IfcDuctSilencerType);
|
DECL_CONV_STUB(IfcDuctSilencerType);
|
||||||
|
@ -4159,7 +4160,6 @@ namespace STEP {
|
||||||
DECL_CONV_STUB(IfcSensorType);
|
DECL_CONV_STUB(IfcSensorType);
|
||||||
DECL_CONV_STUB(IfcAirTerminalBoxType);
|
DECL_CONV_STUB(IfcAirTerminalBoxType);
|
||||||
DECL_CONV_STUB(IfcAnnotationSurfaceOccurrence);
|
DECL_CONV_STUB(IfcAnnotationSurfaceOccurrence);
|
||||||
DECL_CONV_STUB(IfcZShapeProfileDef);
|
|
||||||
DECL_CONV_STUB(IfcRationalBezierCurve);
|
DECL_CONV_STUB(IfcRationalBezierCurve);
|
||||||
DECL_CONV_STUB(IfcCartesianTransformationOperator2D);
|
DECL_CONV_STUB(IfcCartesianTransformationOperator2D);
|
||||||
DECL_CONV_STUB(IfcCartesianTransformationOperator2DnonUniform);
|
DECL_CONV_STUB(IfcCartesianTransformationOperator2DnonUniform);
|
||||||
|
|
|
@ -94,6 +94,7 @@ IfcSurfaceStyleRendering
|
||||||
IfcSurfaceStyleShading
|
IfcSurfaceStyleShading
|
||||||
IfcSurfaceStyleWithTextures
|
IfcSurfaceStyleWithTextures
|
||||||
IfcSweptAreaSolid
|
IfcSweptAreaSolid
|
||||||
|
IfcSweptDiskSolid
|
||||||
IfcTopologicalRepresentationItem
|
IfcTopologicalRepresentationItem
|
||||||
IfcTrimmedCurve
|
IfcTrimmedCurve
|
||||||
IfcUnit
|
IfcUnit
|
||||||
|
|
Loading…
Reference in New Issue