diff --git a/code/BVHLoader.h b/code/BVHLoader.h index 0836488ff..a18ad81d9 100644 --- a/code/BVHLoader.h +++ b/code/BVHLoader.h @@ -84,7 +84,10 @@ class BVHLoader : public BaseImporter std::vector mChannels; std::vector mChannelValues; // motion data values for that node. Of size NumChannels * NumFrames - Node() { } + Node() + : mNode(nullptr) + { } + explicit Node( const aiNode* pNode) : mNode( pNode) { } }; diff --git a/code/BaseImporter.cpp b/code/BaseImporter.cpp index f653d8d81..0892efd9f 100644 --- a/code/BaseImporter.cpp +++ b/code/BaseImporter.cpp @@ -157,9 +157,6 @@ void BaseImporter::GetExtensionList(std::set& extensions) // read 200 characters from the file std::unique_ptr _buffer (new char[searchBytes+1 /* for the '\0' */]); char* buffer = _buffer.get(); - if( NULL == buffer ) { - return false; - } const size_t read = pStream->Read(buffer,1,searchBytes); if( !read ) { diff --git a/code/CSMLoader.cpp b/code/CSMLoader.cpp index 7b0064164..7160740c1 100644 --- a/code/CSMLoader.cpp +++ b/code/CSMLoader.cpp @@ -136,7 +136,7 @@ void CSMImporter::InternReadFile( const std::string& pFile, TextFileToBuffer(file.get(),mBuffer2); const char* buffer = &mBuffer2[0]; - aiAnimation* anim = new aiAnimation(); + std::unique_ptr anim(new aiAnimation()); int first = 0, last = 0x00ffffff; // now process the file and look out for '$' sections @@ -294,8 +294,8 @@ void CSMImporter::InternReadFile( const std::string& pFile, // Store the one and only animation in the scene pScene->mAnimations = new aiAnimation*[pScene->mNumAnimations=1]; - pScene->mAnimations[0] = anim; anim->mName.Set("$CSM_MasterAnim"); + pScene->mAnimations[0] = anim.release(); // mark the scene as incomplete and run SkeletonMeshBuilder on it pScene->mFlags |= AI_SCENE_FLAGS_INCOMPLETE; diff --git a/code/Importer/IFC/IFCReaderGen_4.cpp b/code/Importer/IFC/IFCReaderGen_4.cpp index eb6182674..7a312e691 100644 --- a/code/Importer/IFC/IFCReaderGen_4.cpp +++ b/code/Importer/IFC/IFCReaderGen_4.cpp @@ -40,13 +40,14 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. /** MACHINE-GENERATED by scripts/ICFImporter/CppGenerator.py */ -#include "AssimpPCH.h" #ifndef ASSIMP_BUILD_NO_IFC_IMPORTER -#include "IFCReaderGen.h" +#include "AssimpPCH.h" +#include "IFCReaderGen4.h" namespace Assimp { using namespace IFC; +using namespace ::Assimp::IFC::Schema_4; namespace { diff --git a/code/Importer/IFC/IFCReaderGen_4.h b/code/Importer/IFC/IFCReaderGen_4.h index 6c0b5a283..ccfcb6ea0 100644 --- a/code/Importer/IFC/IFCReaderGen_4.h +++ b/code/Importer/IFC/IFCReaderGen_4.h @@ -47,6 +47,8 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. namespace Assimp { namespace IFC { +namespace Schema_4 { + using namespace STEP; using namespace STEP::EXPRESS; @@ -4866,583 +4868,584 @@ namespace IFC { } //! IFC namespace STEP { - // ****************************************************************************** - // Converter stubs - // ****************************************************************************** - + // ****************************************************************************** + // Converter stubs + // ****************************************************************************** + #define DECL_CONV_STUB(type) template <> size_t GenericFill(const STEP::DB& db, const EXPRESS::LIST& params, IFC::type* in) - - DECL_CONV_STUB(IfcRoot); - DECL_CONV_STUB(IfcObjectDefinition); - DECL_CONV_STUB(IfcObject); - DECL_CONV_STUB(IfcControl); - DECL_CONV_STUB(IfcActionRequest); - DECL_CONV_STUB(IfcActor); - DECL_CONV_STUB(IfcProduct); - DECL_CONV_STUB(IfcElement); - DECL_CONV_STUB(IfcDistributionElement); - DECL_CONV_STUB(IfcDistributionControlElement); - DECL_CONV_STUB(IfcActuator); - DECL_CONV_STUB(IfcTypeObject); - DECL_CONV_STUB(IfcTypeProduct); - DECL_CONV_STUB(IfcElementType); - DECL_CONV_STUB(IfcDistributionElementType); - DECL_CONV_STUB(IfcDistributionControlElementType); - DECL_CONV_STUB(IfcActuatorType); - DECL_CONV_STUB(IfcRepresentationItem); - DECL_CONV_STUB(IfcGeometricRepresentationItem); - DECL_CONV_STUB(IfcSolidModel); - DECL_CONV_STUB(IfcManifoldSolidBrep); - DECL_CONV_STUB(IfcAdvancedBrep); - DECL_CONV_STUB(IfcAdvancedBrepWithVoids); - DECL_CONV_STUB(IfcTopologicalRepresentationItem); - DECL_CONV_STUB(IfcFace); - DECL_CONV_STUB(IfcFaceSurface); - DECL_CONV_STUB(IfcAdvancedFace); - DECL_CONV_STUB(IfcDistributionFlowElement); - DECL_CONV_STUB(IfcFlowTerminal); - DECL_CONV_STUB(IfcAirTerminal); - DECL_CONV_STUB(IfcFlowController); - DECL_CONV_STUB(IfcAirTerminalBox); - DECL_CONV_STUB(IfcDistributionFlowElementType); - DECL_CONV_STUB(IfcFlowControllerType); - DECL_CONV_STUB(IfcAirTerminalBoxType); - DECL_CONV_STUB(IfcFlowTerminalType); - DECL_CONV_STUB(IfcAirTerminalType); - DECL_CONV_STUB(IfcEnergyConversionDevice); - DECL_CONV_STUB(IfcAirToAirHeatRecovery); - DECL_CONV_STUB(IfcEnergyConversionDeviceType); - DECL_CONV_STUB(IfcAirToAirHeatRecoveryType); - DECL_CONV_STUB(IfcAlarm); - DECL_CONV_STUB(IfcAlarmType); - DECL_CONV_STUB(IfcAnnotation); - DECL_CONV_STUB(IfcAnnotationFillArea); - DECL_CONV_STUB(IfcProfileDef); - DECL_CONV_STUB(IfcArbitraryClosedProfileDef); - DECL_CONV_STUB(IfcArbitraryOpenProfileDef); - DECL_CONV_STUB(IfcArbitraryProfileDefWithVoids); - DECL_CONV_STUB(IfcGroup); - DECL_CONV_STUB(IfcAsset); - DECL_CONV_STUB(IfcParameterizedProfileDef); - DECL_CONV_STUB(IfcAsymmetricIShapeProfileDef); - DECL_CONV_STUB(IfcAudioVisualAppliance); - DECL_CONV_STUB(IfcAudioVisualApplianceType); - DECL_CONV_STUB(IfcPlacement); - DECL_CONV_STUB(IfcAxis1Placement); - DECL_CONV_STUB(IfcAxis2Placement2D); - DECL_CONV_STUB(IfcAxis2Placement3D); - DECL_CONV_STUB(IfcCurve); - DECL_CONV_STUB(IfcBoundedCurve); - DECL_CONV_STUB(IfcBSplineCurve); - DECL_CONV_STUB(IfcBSplineCurveWithKnots); - DECL_CONV_STUB(IfcSurface); - DECL_CONV_STUB(IfcBoundedSurface); - DECL_CONV_STUB(IfcBSplineSurface); - DECL_CONV_STUB(IfcBSplineSurfaceWithKnots); - DECL_CONV_STUB(IfcBuildingElement); - DECL_CONV_STUB(IfcBeam); - DECL_CONV_STUB(IfcBeamStandardCase); - DECL_CONV_STUB(IfcBuildingElementType); - DECL_CONV_STUB(IfcBeamType); - DECL_CONV_STUB(IfcPresentationItem); - DECL_CONV_STUB(IfcCsgPrimitive3D); - DECL_CONV_STUB(IfcBlock); - DECL_CONV_STUB(IfcBoiler); - DECL_CONV_STUB(IfcBoilerType); - DECL_CONV_STUB(IfcBooleanResult); - DECL_CONV_STUB(IfcBooleanClippingResult); - DECL_CONV_STUB(IfcCompositeCurve); - DECL_CONV_STUB(IfcCompositeCurveOnSurface); - DECL_CONV_STUB(IfcBoundaryCurve); - DECL_CONV_STUB(IfcBoundingBox); - DECL_CONV_STUB(IfcHalfSpaceSolid); - DECL_CONV_STUB(IfcBoxedHalfSpace); - DECL_CONV_STUB(IfcSpatialElement); - DECL_CONV_STUB(IfcSpatialStructureElement); - DECL_CONV_STUB(IfcBuilding); - DECL_CONV_STUB(IfcElementComponent); - DECL_CONV_STUB(IfcBuildingElementPart); - DECL_CONV_STUB(IfcElementComponentType); - DECL_CONV_STUB(IfcBuildingElementPartType); - DECL_CONV_STUB(IfcBuildingElementProxy); - DECL_CONV_STUB(IfcBuildingElementProxyType); - DECL_CONV_STUB(IfcBuildingStorey); - DECL_CONV_STUB(IfcSystem); - DECL_CONV_STUB(IfcBuildingSystem); - DECL_CONV_STUB(IfcBurner); - DECL_CONV_STUB(IfcBurnerType); - DECL_CONV_STUB(IfcCShapeProfileDef); - DECL_CONV_STUB(IfcFlowFitting); - DECL_CONV_STUB(IfcCableCarrierFitting); - DECL_CONV_STUB(IfcFlowFittingType); - DECL_CONV_STUB(IfcCableCarrierFittingType); - DECL_CONV_STUB(IfcFlowSegment); - DECL_CONV_STUB(IfcCableCarrierSegment); - DECL_CONV_STUB(IfcFlowSegmentType); - DECL_CONV_STUB(IfcCableCarrierSegmentType); - DECL_CONV_STUB(IfcCableFitting); - DECL_CONV_STUB(IfcCableFittingType); - DECL_CONV_STUB(IfcCableSegment); - DECL_CONV_STUB(IfcCableSegmentType); - DECL_CONV_STUB(IfcPoint); - DECL_CONV_STUB(IfcCartesianPoint); - DECL_CONV_STUB(IfcCartesianPointList); - DECL_CONV_STUB(IfcCartesianPointList2D); - DECL_CONV_STUB(IfcCartesianPointList3D); - DECL_CONV_STUB(IfcCartesianTransformationOperator); - DECL_CONV_STUB(IfcCartesianTransformationOperator2D); - DECL_CONV_STUB(IfcCartesianTransformationOperator2DnonUniform); - DECL_CONV_STUB(IfcCartesianTransformationOperator3D); - DECL_CONV_STUB(IfcCartesianTransformationOperator3DnonUniform); - DECL_CONV_STUB(IfcCenterLineProfileDef); - DECL_CONV_STUB(IfcChiller); - DECL_CONV_STUB(IfcChillerType); - DECL_CONV_STUB(IfcChimney); - DECL_CONV_STUB(IfcChimneyType); - DECL_CONV_STUB(IfcConic); - DECL_CONV_STUB(IfcCircle); - DECL_CONV_STUB(IfcCircleProfileDef); - DECL_CONV_STUB(IfcCircleHollowProfileDef); - DECL_CONV_STUB(IfcCivilElement); - DECL_CONV_STUB(IfcCivilElementType); - DECL_CONV_STUB(IfcConnectedFaceSet); - DECL_CONV_STUB(IfcClosedShell); - DECL_CONV_STUB(IfcCoil); - DECL_CONV_STUB(IfcCoilType); - DECL_CONV_STUB(IfcColourSpecification); - DECL_CONV_STUB(IfcColourRgb); - DECL_CONV_STUB(IfcColumn); - DECL_CONV_STUB(IfcColumnStandardCase); - DECL_CONV_STUB(IfcColumnType); - DECL_CONV_STUB(IfcCommunicationsAppliance); - DECL_CONV_STUB(IfcCommunicationsApplianceType); - DECL_CONV_STUB(IfcPropertyAbstraction); - DECL_CONV_STUB(IfcProperty); - DECL_CONV_STUB(IfcComplexProperty); - DECL_CONV_STUB(IfcPropertyDefinition); - DECL_CONV_STUB(IfcCompositeCurveSegment); - DECL_CONV_STUB(IfcCompositeProfileDef); - DECL_CONV_STUB(IfcFlowMovingDevice); - DECL_CONV_STUB(IfcCompressor); - DECL_CONV_STUB(IfcFlowMovingDeviceType); - DECL_CONV_STUB(IfcCompressorType); - DECL_CONV_STUB(IfcCondenser); - DECL_CONV_STUB(IfcCondenserType); - DECL_CONV_STUB(IfcResource); - DECL_CONV_STUB(IfcConstructionResource); - DECL_CONV_STUB(IfcConstructionEquipmentResource); - DECL_CONV_STUB(IfcTypeResource); - DECL_CONV_STUB(IfcConstructionResourceType); - DECL_CONV_STUB(IfcConstructionEquipmentResourceType); - DECL_CONV_STUB(IfcConstructionMaterialResource); - DECL_CONV_STUB(IfcConstructionMaterialResourceType); - DECL_CONV_STUB(IfcConstructionProductResource); - DECL_CONV_STUB(IfcConstructionProductResourceType); - DECL_CONV_STUB(IfcContext); - DECL_CONV_STUB(IfcNamedUnit); - DECL_CONV_STUB(IfcContextDependentUnit); - DECL_CONV_STUB(IfcController); - DECL_CONV_STUB(IfcControllerType); - DECL_CONV_STUB(IfcConversionBasedUnit); - DECL_CONV_STUB(IfcConversionBasedUnitWithOffset); - DECL_CONV_STUB(IfcCooledBeam); - DECL_CONV_STUB(IfcCooledBeamType); - DECL_CONV_STUB(IfcCoolingTower); - DECL_CONV_STUB(IfcCoolingTowerType); - DECL_CONV_STUB(IfcCostItem); - DECL_CONV_STUB(IfcCostSchedule); - DECL_CONV_STUB(IfcCovering); - DECL_CONV_STUB(IfcCoveringType); - DECL_CONV_STUB(IfcCrewResource); - DECL_CONV_STUB(IfcCrewResourceType); - DECL_CONV_STUB(IfcCsgSolid); - DECL_CONV_STUB(IfcCurtainWall); - DECL_CONV_STUB(IfcCurtainWallType); - DECL_CONV_STUB(IfcCurveBoundedPlane); - DECL_CONV_STUB(IfcCurveBoundedSurface); - DECL_CONV_STUB(IfcPresentationStyle); - DECL_CONV_STUB(IfcElementarySurface); - DECL_CONV_STUB(IfcCylindricalSurface); - DECL_CONV_STUB(IfcDamper); - DECL_CONV_STUB(IfcDamperType); - DECL_CONV_STUB(IfcDerivedProfileDef); - DECL_CONV_STUB(IfcDirection); - DECL_CONV_STUB(IfcDiscreteAccessory); - DECL_CONV_STUB(IfcDiscreteAccessoryType); - DECL_CONV_STUB(IfcDistributionChamberElement); - DECL_CONV_STUB(IfcDistributionChamberElementType); - DECL_CONV_STUB(IfcDistributionSystem); - DECL_CONV_STUB(IfcDistributionCircuit); - DECL_CONV_STUB(IfcPort); - DECL_CONV_STUB(IfcDistributionPort); - DECL_CONV_STUB(IfcDoor); - DECL_CONV_STUB(IfcPropertySetDefinition); - DECL_CONV_STUB(IfcDoorStandardCase); - DECL_CONV_STUB(IfcDoorStyle); - DECL_CONV_STUB(IfcDoorType); - DECL_CONV_STUB(IfcDuctFitting); - DECL_CONV_STUB(IfcDuctFittingType); - DECL_CONV_STUB(IfcDuctSegment); - DECL_CONV_STUB(IfcDuctSegmentType); - DECL_CONV_STUB(IfcFlowTreatmentDevice); - DECL_CONV_STUB(IfcDuctSilencer); - DECL_CONV_STUB(IfcFlowTreatmentDeviceType); - DECL_CONV_STUB(IfcDuctSilencerType); - DECL_CONV_STUB(IfcEdge); - DECL_CONV_STUB(IfcEdgeCurve); - DECL_CONV_STUB(IfcLoop); - DECL_CONV_STUB(IfcEdgeLoop); - DECL_CONV_STUB(IfcElectricAppliance); - DECL_CONV_STUB(IfcElectricApplianceType); - DECL_CONV_STUB(IfcElectricDistributionBoard); - DECL_CONV_STUB(IfcElectricDistributionBoardType); - DECL_CONV_STUB(IfcFlowStorageDevice); - DECL_CONV_STUB(IfcElectricFlowStorageDevice); - DECL_CONV_STUB(IfcFlowStorageDeviceType); - DECL_CONV_STUB(IfcElectricFlowStorageDeviceType); - DECL_CONV_STUB(IfcElectricGenerator); - DECL_CONV_STUB(IfcElectricGeneratorType); - DECL_CONV_STUB(IfcElectricMotor); - DECL_CONV_STUB(IfcElectricMotorType); - DECL_CONV_STUB(IfcElectricTimeControl); - DECL_CONV_STUB(IfcElectricTimeControlType); - DECL_CONV_STUB(IfcElementAssembly); - DECL_CONV_STUB(IfcElementAssemblyType); - DECL_CONV_STUB(IfcQuantitySet); - DECL_CONV_STUB(IfcElementQuantity); - DECL_CONV_STUB(IfcEllipse); - DECL_CONV_STUB(IfcEllipseProfileDef); - DECL_CONV_STUB(IfcEngine); - DECL_CONV_STUB(IfcEngineType); - DECL_CONV_STUB(IfcEvaporativeCooler); - DECL_CONV_STUB(IfcEvaporativeCoolerType); - DECL_CONV_STUB(IfcEvaporator); - DECL_CONV_STUB(IfcEvaporatorType); - DECL_CONV_STUB(IfcProcess); - DECL_CONV_STUB(IfcEvent); - DECL_CONV_STUB(IfcTypeProcess); - DECL_CONV_STUB(IfcEventType); - DECL_CONV_STUB(IfcExternalSpatialStructureElement); - DECL_CONV_STUB(IfcExternalSpatialElement); - DECL_CONV_STUB(IfcSweptAreaSolid); - DECL_CONV_STUB(IfcExtrudedAreaSolid); - DECL_CONV_STUB(IfcExtrudedAreaSolidTapered); - DECL_CONV_STUB(IfcFaceBasedSurfaceModel); - DECL_CONV_STUB(IfcFaceBound); - DECL_CONV_STUB(IfcFaceOuterBound); - DECL_CONV_STUB(IfcFacetedBrep); - DECL_CONV_STUB(IfcFacetedBrepWithVoids); - DECL_CONV_STUB(IfcFan); - DECL_CONV_STUB(IfcFanType); - DECL_CONV_STUB(IfcFastener); - DECL_CONV_STUB(IfcFastenerType); - DECL_CONV_STUB(IfcFeatureElement); - DECL_CONV_STUB(IfcFeatureElementAddition); - DECL_CONV_STUB(IfcFeatureElementSubtraction); - DECL_CONV_STUB(IfcFillAreaStyleHatching); - DECL_CONV_STUB(IfcFillAreaStyleTiles); - DECL_CONV_STUB(IfcFilter); - DECL_CONV_STUB(IfcFilterType); - DECL_CONV_STUB(IfcFireSuppressionTerminal); - DECL_CONV_STUB(IfcFireSuppressionTerminalType); - DECL_CONV_STUB(IfcFixedReferenceSweptAreaSolid); - DECL_CONV_STUB(IfcFlowInstrument); - DECL_CONV_STUB(IfcFlowInstrumentType); - DECL_CONV_STUB(IfcFlowMeter); - DECL_CONV_STUB(IfcFlowMeterType); - DECL_CONV_STUB(IfcFooting); - DECL_CONV_STUB(IfcFootingType); - DECL_CONV_STUB(IfcFurnishingElement); - DECL_CONV_STUB(IfcFurnishingElementType); - DECL_CONV_STUB(IfcFurniture); - DECL_CONV_STUB(IfcFurnitureType); - DECL_CONV_STUB(IfcGeographicElement); - DECL_CONV_STUB(IfcGeographicElementType); - DECL_CONV_STUB(IfcGeometricSet); - DECL_CONV_STUB(IfcGeometricCurveSet); - DECL_CONV_STUB(IfcRepresentationContext); - DECL_CONV_STUB(IfcGeometricRepresentationContext); - DECL_CONV_STUB(IfcGeometricRepresentationSubContext); - DECL_CONV_STUB(IfcGrid); - DECL_CONV_STUB(IfcObjectPlacement); - DECL_CONV_STUB(IfcGridPlacement); - DECL_CONV_STUB(IfcHeatExchanger); - DECL_CONV_STUB(IfcHeatExchangerType); - DECL_CONV_STUB(IfcHumidifier); - DECL_CONV_STUB(IfcHumidifierType); - DECL_CONV_STUB(IfcIShapeProfileDef); - DECL_CONV_STUB(IfcIndexedPolyCurve); - DECL_CONV_STUB(IfcTessellatedItem); - DECL_CONV_STUB(IfcIndexedPolygonalFace); - DECL_CONV_STUB(IfcIndexedPolygonalFaceWithVoids); - DECL_CONV_STUB(IfcInterceptor); - DECL_CONV_STUB(IfcInterceptorType); - DECL_CONV_STUB(IfcSurfaceCurve); - DECL_CONV_STUB(IfcIntersectionCurve); - DECL_CONV_STUB(IfcInventory); - DECL_CONV_STUB(IfcJunctionBox); - DECL_CONV_STUB(IfcJunctionBoxType); - DECL_CONV_STUB(IfcLShapeProfileDef); - DECL_CONV_STUB(IfcLaborResource); - DECL_CONV_STUB(IfcLaborResourceType); - DECL_CONV_STUB(IfcLamp); - DECL_CONV_STUB(IfcLampType); - DECL_CONV_STUB(IfcLightFixture); - DECL_CONV_STUB(IfcLightFixtureType); - DECL_CONV_STUB(IfcLightSource); - DECL_CONV_STUB(IfcLightSourceAmbient); - DECL_CONV_STUB(IfcLightSourceDirectional); - DECL_CONV_STUB(IfcLightSourceGoniometric); - DECL_CONV_STUB(IfcLightSourcePositional); - DECL_CONV_STUB(IfcLightSourceSpot); - DECL_CONV_STUB(IfcLine); - DECL_CONV_STUB(IfcLocalPlacement); - DECL_CONV_STUB(IfcMappedItem); - DECL_CONV_STUB(IfcProductRepresentation); - DECL_CONV_STUB(IfcMaterialDefinitionRepresentation); - DECL_CONV_STUB(IfcMeasureWithUnit); - DECL_CONV_STUB(IfcMechanicalFastener); - DECL_CONV_STUB(IfcMechanicalFastenerType); - DECL_CONV_STUB(IfcMedicalDevice); - DECL_CONV_STUB(IfcMedicalDeviceType); - DECL_CONV_STUB(IfcMember); - DECL_CONV_STUB(IfcMemberStandardCase); - DECL_CONV_STUB(IfcMemberType); - DECL_CONV_STUB(IfcMirroredProfileDef); - DECL_CONV_STUB(IfcMotorConnection); - DECL_CONV_STUB(IfcMotorConnectionType); - DECL_CONV_STUB(IfcOccupant); - DECL_CONV_STUB(IfcOffsetCurve2D); - DECL_CONV_STUB(IfcOffsetCurve3D); - DECL_CONV_STUB(IfcOpenShell); - DECL_CONV_STUB(IfcOpeningElement); - DECL_CONV_STUB(IfcOpeningStandardCase); - DECL_CONV_STUB(IfcOrientedEdge); - DECL_CONV_STUB(IfcOuterBoundaryCurve); - DECL_CONV_STUB(IfcOutlet); - DECL_CONV_STUB(IfcOutletType); - DECL_CONV_STUB(IfcPath); - DECL_CONV_STUB(IfcPcurve); - DECL_CONV_STUB(IfcPerformanceHistory); - DECL_CONV_STUB(IfcPermit); - DECL_CONV_STUB(IfcPile); - DECL_CONV_STUB(IfcPileType); - DECL_CONV_STUB(IfcPipeFitting); - DECL_CONV_STUB(IfcPipeFittingType); - DECL_CONV_STUB(IfcPipeSegment); - DECL_CONV_STUB(IfcPipeSegmentType); - DECL_CONV_STUB(IfcPlanarExtent); - DECL_CONV_STUB(IfcPlanarBox); - DECL_CONV_STUB(IfcPlane); - DECL_CONV_STUB(IfcPlate); - DECL_CONV_STUB(IfcPlateStandardCase); - DECL_CONV_STUB(IfcPlateType); - DECL_CONV_STUB(IfcPointOnCurve); - DECL_CONV_STUB(IfcPointOnSurface); - DECL_CONV_STUB(IfcPolyLoop); - DECL_CONV_STUB(IfcPolygonalBoundedHalfSpace); - DECL_CONV_STUB(IfcTessellatedFaceSet); - DECL_CONV_STUB(IfcPolygonalFaceSet); - DECL_CONV_STUB(IfcPolyline); - DECL_CONV_STUB(IfcPresentationStyleAssignment); - DECL_CONV_STUB(IfcProcedure); - DECL_CONV_STUB(IfcProcedureType); - DECL_CONV_STUB(IfcProductDefinitionShape); - DECL_CONV_STUB(IfcProject); - DECL_CONV_STUB(IfcProjectLibrary); - DECL_CONV_STUB(IfcProjectOrder); - DECL_CONV_STUB(IfcProjectionElement); - DECL_CONV_STUB(IfcSimpleProperty); - DECL_CONV_STUB(IfcPropertyBoundedValue); - DECL_CONV_STUB(IfcPropertyEnumeratedValue); - DECL_CONV_STUB(IfcPropertyListValue); - DECL_CONV_STUB(IfcPropertyReferenceValue); - DECL_CONV_STUB(IfcPropertySet); - DECL_CONV_STUB(IfcPropertySingleValue); - DECL_CONV_STUB(IfcPropertyTableValue); - DECL_CONV_STUB(IfcProtectiveDevice); - DECL_CONV_STUB(IfcProtectiveDeviceTrippingUnit); - DECL_CONV_STUB(IfcProtectiveDeviceTrippingUnitType); - DECL_CONV_STUB(IfcProtectiveDeviceType); - DECL_CONV_STUB(IfcProxy); - DECL_CONV_STUB(IfcPump); - DECL_CONV_STUB(IfcPumpType); - DECL_CONV_STUB(IfcRailing); - DECL_CONV_STUB(IfcRailingType); - DECL_CONV_STUB(IfcRamp); - DECL_CONV_STUB(IfcRampFlight); - DECL_CONV_STUB(IfcRampFlightType); - DECL_CONV_STUB(IfcRampType); - DECL_CONV_STUB(IfcRationalBSplineCurveWithKnots); - DECL_CONV_STUB(IfcRationalBSplineSurfaceWithKnots); - DECL_CONV_STUB(IfcRectangleProfileDef); - DECL_CONV_STUB(IfcRectangleHollowProfileDef); - DECL_CONV_STUB(IfcRectangularPyramid); - DECL_CONV_STUB(IfcRectangularTrimmedSurface); - DECL_CONV_STUB(IfcReinforcingElement); - DECL_CONV_STUB(IfcReinforcingBar); - DECL_CONV_STUB(IfcReinforcingElementType); - DECL_CONV_STUB(IfcReinforcingBarType); - DECL_CONV_STUB(IfcReinforcingMesh); - DECL_CONV_STUB(IfcReinforcingMeshType); - DECL_CONV_STUB(IfcRelationship); - DECL_CONV_STUB(IfcRelDecomposes); - DECL_CONV_STUB(IfcRelAggregates); - DECL_CONV_STUB(IfcRelConnects); - DECL_CONV_STUB(IfcRelContainedInSpatialStructure); - DECL_CONV_STUB(IfcRelDefines); - DECL_CONV_STUB(IfcRelDefinesByProperties); - DECL_CONV_STUB(IfcRelFillsElement); - DECL_CONV_STUB(IfcRelVoidsElement); - DECL_CONV_STUB(IfcReparametrisedCompositeCurveSegment); - DECL_CONV_STUB(IfcRepresentation); - DECL_CONV_STUB(IfcRepresentationMap); - DECL_CONV_STUB(IfcRevolvedAreaSolid); - DECL_CONV_STUB(IfcRevolvedAreaSolidTapered); - DECL_CONV_STUB(IfcRightCircularCone); - DECL_CONV_STUB(IfcRightCircularCylinder); - DECL_CONV_STUB(IfcRoof); - DECL_CONV_STUB(IfcRoofType); - DECL_CONV_STUB(IfcRoundedRectangleProfileDef); - DECL_CONV_STUB(IfcSIUnit); - DECL_CONV_STUB(IfcSanitaryTerminal); - DECL_CONV_STUB(IfcSanitaryTerminalType); - DECL_CONV_STUB(IfcSeamCurve); - DECL_CONV_STUB(IfcSectionedSpine); - DECL_CONV_STUB(IfcSensor); - DECL_CONV_STUB(IfcSensorType); - DECL_CONV_STUB(IfcShadingDevice); - DECL_CONV_STUB(IfcShadingDeviceType); - DECL_CONV_STUB(IfcShapeModel); - DECL_CONV_STUB(IfcShapeRepresentation); - DECL_CONV_STUB(IfcShellBasedSurfaceModel); - DECL_CONV_STUB(IfcSite); - DECL_CONV_STUB(IfcSlab); - DECL_CONV_STUB(IfcSlabElementedCase); - DECL_CONV_STUB(IfcSlabStandardCase); - DECL_CONV_STUB(IfcSlabType); - DECL_CONV_STUB(IfcSolarDevice); - DECL_CONV_STUB(IfcSolarDeviceType); - DECL_CONV_STUB(IfcSpace); - DECL_CONV_STUB(IfcSpaceHeater); - DECL_CONV_STUB(IfcSpaceHeaterType); - DECL_CONV_STUB(IfcSpatialElementType); - DECL_CONV_STUB(IfcSpatialStructureElementType); - DECL_CONV_STUB(IfcSpaceType); - DECL_CONV_STUB(IfcSpatialZone); - DECL_CONV_STUB(IfcSpatialZoneType); - DECL_CONV_STUB(IfcSphere); - DECL_CONV_STUB(IfcSphericalSurface); - DECL_CONV_STUB(IfcStackTerminal); - DECL_CONV_STUB(IfcStackTerminalType); - DECL_CONV_STUB(IfcStair); - DECL_CONV_STUB(IfcStairFlight); - DECL_CONV_STUB(IfcStairFlightType); - DECL_CONV_STUB(IfcStairType); - DECL_CONV_STUB(IfcStructuralActivity); - DECL_CONV_STUB(IfcStructuralAction); - DECL_CONV_STUB(IfcStructuralAnalysisModel); - DECL_CONV_STUB(IfcStructuralItem); - DECL_CONV_STUB(IfcStructuralConnection); - DECL_CONV_STUB(IfcStructuralCurveAction); - DECL_CONV_STUB(IfcStructuralCurveConnection); - DECL_CONV_STUB(IfcStructuralMember); - DECL_CONV_STUB(IfcStructuralCurveMember); - DECL_CONV_STUB(IfcStructuralCurveMemberVarying); - DECL_CONV_STUB(IfcStructuralReaction); - DECL_CONV_STUB(IfcStructuralCurveReaction); - DECL_CONV_STUB(IfcStructuralLinearAction); - DECL_CONV_STUB(IfcStructuralLoadGroup); - DECL_CONV_STUB(IfcStructuralLoadCase); - DECL_CONV_STUB(IfcStructuralSurfaceAction); - DECL_CONV_STUB(IfcStructuralPlanarAction); - DECL_CONV_STUB(IfcStructuralPointAction); - DECL_CONV_STUB(IfcStructuralPointConnection); - DECL_CONV_STUB(IfcStructuralPointReaction); - DECL_CONV_STUB(IfcStructuralResultGroup); - DECL_CONV_STUB(IfcStructuralSurfaceConnection); - DECL_CONV_STUB(IfcStructuralSurfaceMember); - DECL_CONV_STUB(IfcStructuralSurfaceMemberVarying); - DECL_CONV_STUB(IfcStructuralSurfaceReaction); - DECL_CONV_STUB(IfcStyleModel); - DECL_CONV_STUB(IfcStyledItem); - DECL_CONV_STUB(IfcStyledRepresentation); - DECL_CONV_STUB(IfcSubContractResource); - DECL_CONV_STUB(IfcSubContractResourceType); - DECL_CONV_STUB(IfcSubedge); - DECL_CONV_STUB(IfcSurfaceCurveSweptAreaSolid); - DECL_CONV_STUB(IfcSurfaceFeature); - DECL_CONV_STUB(IfcSweptSurface); - DECL_CONV_STUB(IfcSurfaceOfLinearExtrusion); - DECL_CONV_STUB(IfcSurfaceOfRevolution); - DECL_CONV_STUB(IfcSurfaceStyle); - DECL_CONV_STUB(IfcSurfaceStyleShading); - DECL_CONV_STUB(IfcSurfaceStyleRendering); - DECL_CONV_STUB(IfcSurfaceStyleWithTextures); - DECL_CONV_STUB(IfcSweptDiskSolid); - DECL_CONV_STUB(IfcSweptDiskSolidPolygonal); - DECL_CONV_STUB(IfcSwitchingDevice); - DECL_CONV_STUB(IfcSwitchingDeviceType); - DECL_CONV_STUB(IfcSystemFurnitureElement); - DECL_CONV_STUB(IfcSystemFurnitureElementType); - DECL_CONV_STUB(IfcTShapeProfileDef); - DECL_CONV_STUB(IfcTank); - DECL_CONV_STUB(IfcTankType); - DECL_CONV_STUB(IfcTask); - DECL_CONV_STUB(IfcTaskType); - DECL_CONV_STUB(IfcTendon); - DECL_CONV_STUB(IfcTendonAnchor); - DECL_CONV_STUB(IfcTendonAnchorType); - DECL_CONV_STUB(IfcTendonType); - DECL_CONV_STUB(IfcTextLiteral); - DECL_CONV_STUB(IfcTextLiteralWithExtent); - DECL_CONV_STUB(IfcTopologyRepresentation); - DECL_CONV_STUB(IfcToroidalSurface); - DECL_CONV_STUB(IfcTransformer); - DECL_CONV_STUB(IfcTransformerType); - DECL_CONV_STUB(IfcTransportElement); - DECL_CONV_STUB(IfcTransportElementType); - DECL_CONV_STUB(IfcTrapeziumProfileDef); - DECL_CONV_STUB(IfcTriangulatedFaceSet); - DECL_CONV_STUB(IfcTrimmedCurve); - DECL_CONV_STUB(IfcTubeBundle); - DECL_CONV_STUB(IfcTubeBundleType); - DECL_CONV_STUB(IfcUShapeProfileDef); - DECL_CONV_STUB(IfcUnitAssignment); - DECL_CONV_STUB(IfcUnitaryControlElement); - DECL_CONV_STUB(IfcUnitaryControlElementType); - DECL_CONV_STUB(IfcUnitaryEquipment); - DECL_CONV_STUB(IfcUnitaryEquipmentType); - DECL_CONV_STUB(IfcValve); - DECL_CONV_STUB(IfcValveType); - DECL_CONV_STUB(IfcVector); - DECL_CONV_STUB(IfcVertex); - DECL_CONV_STUB(IfcVertexLoop); - DECL_CONV_STUB(IfcVertexPoint); - DECL_CONV_STUB(IfcVibrationIsolator); - DECL_CONV_STUB(IfcVibrationIsolatorType); - DECL_CONV_STUB(IfcVirtualElement); - DECL_CONV_STUB(IfcVoidingFeature); - DECL_CONV_STUB(IfcWall); - DECL_CONV_STUB(IfcWallElementedCase); - DECL_CONV_STUB(IfcWallStandardCase); - DECL_CONV_STUB(IfcWallType); - DECL_CONV_STUB(IfcWasteTerminal); - DECL_CONV_STUB(IfcWasteTerminalType); - DECL_CONV_STUB(IfcWindow); - DECL_CONV_STUB(IfcWindowStandardCase); - DECL_CONV_STUB(IfcWindowStyle); - DECL_CONV_STUB(IfcWindowType); - DECL_CONV_STUB(IfcWorkCalendar); - DECL_CONV_STUB(IfcWorkControl); - DECL_CONV_STUB(IfcWorkPlan); - DECL_CONV_STUB(IfcWorkSchedule); - DECL_CONV_STUB(IfcZShapeProfileDef); - DECL_CONV_STUB(IfcZone); + + DECL_CONV_STUB( IfcRoot ); + DECL_CONV_STUB( IfcObjectDefinition ); + DECL_CONV_STUB( IfcObject ); + DECL_CONV_STUB( IfcControl ); + DECL_CONV_STUB( IfcActionRequest ); + DECL_CONV_STUB( IfcActor ); + DECL_CONV_STUB( IfcProduct ); + DECL_CONV_STUB( IfcElement ); + DECL_CONV_STUB( IfcDistributionElement ); + DECL_CONV_STUB( IfcDistributionControlElement ); + DECL_CONV_STUB( IfcActuator ); + DECL_CONV_STUB( IfcTypeObject ); + DECL_CONV_STUB( IfcTypeProduct ); + DECL_CONV_STUB( IfcElementType ); + DECL_CONV_STUB( IfcDistributionElementType ); + DECL_CONV_STUB( IfcDistributionControlElementType ); + DECL_CONV_STUB( IfcActuatorType ); + DECL_CONV_STUB( IfcRepresentationItem ); + DECL_CONV_STUB( IfcGeometricRepresentationItem ); + DECL_CONV_STUB( IfcSolidModel ); + DECL_CONV_STUB( IfcManifoldSolidBrep ); + DECL_CONV_STUB( IfcAdvancedBrep ); + DECL_CONV_STUB( IfcAdvancedBrepWithVoids ); + DECL_CONV_STUB( IfcTopologicalRepresentationItem ); + DECL_CONV_STUB( IfcFace ); + DECL_CONV_STUB( IfcFaceSurface ); + DECL_CONV_STUB( IfcAdvancedFace ); + DECL_CONV_STUB( IfcDistributionFlowElement ); + DECL_CONV_STUB( IfcFlowTerminal ); + DECL_CONV_STUB( IfcAirTerminal ); + DECL_CONV_STUB( IfcFlowController ); + DECL_CONV_STUB( IfcAirTerminalBox ); + DECL_CONV_STUB( IfcDistributionFlowElementType ); + DECL_CONV_STUB( IfcFlowControllerType ); + DECL_CONV_STUB( IfcAirTerminalBoxType ); + DECL_CONV_STUB( IfcFlowTerminalType ); + DECL_CONV_STUB( IfcAirTerminalType ); + DECL_CONV_STUB( IfcEnergyConversionDevice ); + DECL_CONV_STUB( IfcAirToAirHeatRecovery ); + DECL_CONV_STUB( IfcEnergyConversionDeviceType ); + DECL_CONV_STUB( IfcAirToAirHeatRecoveryType ); + DECL_CONV_STUB( IfcAlarm ); + DECL_CONV_STUB( IfcAlarmType ); + DECL_CONV_STUB( IfcAnnotation ); + DECL_CONV_STUB( IfcAnnotationFillArea ); + DECL_CONV_STUB( IfcProfileDef ); + DECL_CONV_STUB( IfcArbitraryClosedProfileDef ); + DECL_CONV_STUB( IfcArbitraryOpenProfileDef ); + DECL_CONV_STUB( IfcArbitraryProfileDefWithVoids ); + DECL_CONV_STUB( IfcGroup ); + DECL_CONV_STUB( IfcAsset ); + DECL_CONV_STUB( IfcParameterizedProfileDef ); + DECL_CONV_STUB( IfcAsymmetricIShapeProfileDef ); + DECL_CONV_STUB( IfcAudioVisualAppliance ); + DECL_CONV_STUB( IfcAudioVisualApplianceType ); + DECL_CONV_STUB( IfcPlacement ); + DECL_CONV_STUB( IfcAxis1Placement ); + DECL_CONV_STUB( IfcAxis2Placement2D ); + DECL_CONV_STUB( IfcAxis2Placement3D ); + DECL_CONV_STUB( IfcCurve ); + DECL_CONV_STUB( IfcBoundedCurve ); + DECL_CONV_STUB( IfcBSplineCurve ); + DECL_CONV_STUB( IfcBSplineCurveWithKnots ); + DECL_CONV_STUB( IfcSurface ); + DECL_CONV_STUB( IfcBoundedSurface ); + DECL_CONV_STUB( IfcBSplineSurface ); + DECL_CONV_STUB( IfcBSplineSurfaceWithKnots ); + DECL_CONV_STUB( IfcBuildingElement ); + DECL_CONV_STUB( IfcBeam ); + DECL_CONV_STUB( IfcBeamStandardCase ); + DECL_CONV_STUB( IfcBuildingElementType ); + DECL_CONV_STUB( IfcBeamType ); + DECL_CONV_STUB( IfcPresentationItem ); + DECL_CONV_STUB( IfcCsgPrimitive3D ); + DECL_CONV_STUB( IfcBlock ); + DECL_CONV_STUB( IfcBoiler ); + DECL_CONV_STUB( IfcBoilerType ); + DECL_CONV_STUB( IfcBooleanResult ); + DECL_CONV_STUB( IfcBooleanClippingResult ); + DECL_CONV_STUB( IfcCompositeCurve ); + DECL_CONV_STUB( IfcCompositeCurveOnSurface ); + DECL_CONV_STUB( IfcBoundaryCurve ); + DECL_CONV_STUB( IfcBoundingBox ); + DECL_CONV_STUB( IfcHalfSpaceSolid ); + DECL_CONV_STUB( IfcBoxedHalfSpace ); + DECL_CONV_STUB( IfcSpatialElement ); + DECL_CONV_STUB( IfcSpatialStructureElement ); + DECL_CONV_STUB( IfcBuilding ); + DECL_CONV_STUB( IfcElementComponent ); + DECL_CONV_STUB( IfcBuildingElementPart ); + DECL_CONV_STUB( IfcElementComponentType ); + DECL_CONV_STUB( IfcBuildingElementPartType ); + DECL_CONV_STUB( IfcBuildingElementProxy ); + DECL_CONV_STUB( IfcBuildingElementProxyType ); + DECL_CONV_STUB( IfcBuildingStorey ); + DECL_CONV_STUB( IfcSystem ); + DECL_CONV_STUB( IfcBuildingSystem ); + DECL_CONV_STUB( IfcBurner ); + DECL_CONV_STUB( IfcBurnerType ); + DECL_CONV_STUB( IfcCShapeProfileDef ); + DECL_CONV_STUB( IfcFlowFitting ); + DECL_CONV_STUB( IfcCableCarrierFitting ); + DECL_CONV_STUB( IfcFlowFittingType ); + DECL_CONV_STUB( IfcCableCarrierFittingType ); + DECL_CONV_STUB( IfcFlowSegment ); + DECL_CONV_STUB( IfcCableCarrierSegment ); + DECL_CONV_STUB( IfcFlowSegmentType ); + DECL_CONV_STUB( IfcCableCarrierSegmentType ); + DECL_CONV_STUB( IfcCableFitting ); + DECL_CONV_STUB( IfcCableFittingType ); + DECL_CONV_STUB( IfcCableSegment ); + DECL_CONV_STUB( IfcCableSegmentType ); + DECL_CONV_STUB( IfcPoint ); + DECL_CONV_STUB( IfcCartesianPoint ); + DECL_CONV_STUB( IfcCartesianPointList ); + DECL_CONV_STUB( IfcCartesianPointList2D ); + DECL_CONV_STUB( IfcCartesianPointList3D ); + DECL_CONV_STUB( IfcCartesianTransformationOperator ); + DECL_CONV_STUB( IfcCartesianTransformationOperator2D ); + DECL_CONV_STUB( IfcCartesianTransformationOperator2DnonUniform ); + DECL_CONV_STUB( IfcCartesianTransformationOperator3D ); + DECL_CONV_STUB( IfcCartesianTransformationOperator3DnonUniform ); + DECL_CONV_STUB( IfcCenterLineProfileDef ); + DECL_CONV_STUB( IfcChiller ); + DECL_CONV_STUB( IfcChillerType ); + DECL_CONV_STUB( IfcChimney ); + DECL_CONV_STUB( IfcChimneyType ); + DECL_CONV_STUB( IfcConic ); + DECL_CONV_STUB( IfcCircle ); + DECL_CONV_STUB( IfcCircleProfileDef ); + DECL_CONV_STUB( IfcCircleHollowProfileDef ); + DECL_CONV_STUB( IfcCivilElement ); + DECL_CONV_STUB( IfcCivilElementType ); + DECL_CONV_STUB( IfcConnectedFaceSet ); + DECL_CONV_STUB( IfcClosedShell ); + DECL_CONV_STUB( IfcCoil ); + DECL_CONV_STUB( IfcCoilType ); + DECL_CONV_STUB( IfcColourSpecification ); + DECL_CONV_STUB( IfcColourRgb ); + DECL_CONV_STUB( IfcColumn ); + DECL_CONV_STUB( IfcColumnStandardCase ); + DECL_CONV_STUB( IfcColumnType ); + DECL_CONV_STUB( IfcCommunicationsAppliance ); + DECL_CONV_STUB( IfcCommunicationsApplianceType ); + DECL_CONV_STUB( IfcPropertyAbstraction ); + DECL_CONV_STUB( IfcProperty ); + DECL_CONV_STUB( IfcComplexProperty ); + DECL_CONV_STUB( IfcPropertyDefinition ); + DECL_CONV_STUB( IfcCompositeCurveSegment ); + DECL_CONV_STUB( IfcCompositeProfileDef ); + DECL_CONV_STUB( IfcFlowMovingDevice ); + DECL_CONV_STUB( IfcCompressor ); + DECL_CONV_STUB( IfcFlowMovingDeviceType ); + DECL_CONV_STUB( IfcCompressorType ); + DECL_CONV_STUB( IfcCondenser ); + DECL_CONV_STUB( IfcCondenserType ); + DECL_CONV_STUB( IfcResource ); + DECL_CONV_STUB( IfcConstructionResource ); + DECL_CONV_STUB( IfcConstructionEquipmentResource ); + DECL_CONV_STUB( IfcTypeResource ); + DECL_CONV_STUB( IfcConstructionResourceType ); + DECL_CONV_STUB( IfcConstructionEquipmentResourceType ); + DECL_CONV_STUB( IfcConstructionMaterialResource ); + DECL_CONV_STUB( IfcConstructionMaterialResourceType ); + DECL_CONV_STUB( IfcConstructionProductResource ); + DECL_CONV_STUB( IfcConstructionProductResourceType ); + DECL_CONV_STUB( IfcContext ); + DECL_CONV_STUB( IfcNamedUnit ); + DECL_CONV_STUB( IfcContextDependentUnit ); + DECL_CONV_STUB( IfcController ); + DECL_CONV_STUB( IfcControllerType ); + DECL_CONV_STUB( IfcConversionBasedUnit ); + DECL_CONV_STUB( IfcConversionBasedUnitWithOffset ); + DECL_CONV_STUB( IfcCooledBeam ); + DECL_CONV_STUB( IfcCooledBeamType ); + DECL_CONV_STUB( IfcCoolingTower ); + DECL_CONV_STUB( IfcCoolingTowerType ); + DECL_CONV_STUB( IfcCostItem ); + DECL_CONV_STUB( IfcCostSchedule ); + DECL_CONV_STUB( IfcCovering ); + DECL_CONV_STUB( IfcCoveringType ); + DECL_CONV_STUB( IfcCrewResource ); + DECL_CONV_STUB( IfcCrewResourceType ); + DECL_CONV_STUB( IfcCsgSolid ); + DECL_CONV_STUB( IfcCurtainWall ); + DECL_CONV_STUB( IfcCurtainWallType ); + DECL_CONV_STUB( IfcCurveBoundedPlane ); + DECL_CONV_STUB( IfcCurveBoundedSurface ); + DECL_CONV_STUB( IfcPresentationStyle ); + DECL_CONV_STUB( IfcElementarySurface ); + DECL_CONV_STUB( IfcCylindricalSurface ); + DECL_CONV_STUB( IfcDamper ); + DECL_CONV_STUB( IfcDamperType ); + DECL_CONV_STUB( IfcDerivedProfileDef ); + DECL_CONV_STUB( IfcDirection ); + DECL_CONV_STUB( IfcDiscreteAccessory ); + DECL_CONV_STUB( IfcDiscreteAccessoryType ); + DECL_CONV_STUB( IfcDistributionChamberElement ); + DECL_CONV_STUB( IfcDistributionChamberElementType ); + DECL_CONV_STUB( IfcDistributionSystem ); + DECL_CONV_STUB( IfcDistributionCircuit ); + DECL_CONV_STUB( IfcPort ); + DECL_CONV_STUB( IfcDistributionPort ); + DECL_CONV_STUB( IfcDoor ); + DECL_CONV_STUB( IfcPropertySetDefinition ); + DECL_CONV_STUB( IfcDoorStandardCase ); + DECL_CONV_STUB( IfcDoorStyle ); + DECL_CONV_STUB( IfcDoorType ); + DECL_CONV_STUB( IfcDuctFitting ); + DECL_CONV_STUB( IfcDuctFittingType ); + DECL_CONV_STUB( IfcDuctSegment ); + DECL_CONV_STUB( IfcDuctSegmentType ); + DECL_CONV_STUB( IfcFlowTreatmentDevice ); + DECL_CONV_STUB( IfcDuctSilencer ); + DECL_CONV_STUB( IfcFlowTreatmentDeviceType ); + DECL_CONV_STUB( IfcDuctSilencerType ); + DECL_CONV_STUB( IfcEdge ); + DECL_CONV_STUB( IfcEdgeCurve ); + DECL_CONV_STUB( IfcLoop ); + DECL_CONV_STUB( IfcEdgeLoop ); + DECL_CONV_STUB( IfcElectricAppliance ); + DECL_CONV_STUB( IfcElectricApplianceType ); + DECL_CONV_STUB( IfcElectricDistributionBoard ); + DECL_CONV_STUB( IfcElectricDistributionBoardType ); + DECL_CONV_STUB( IfcFlowStorageDevice ); + DECL_CONV_STUB( IfcElectricFlowStorageDevice ); + DECL_CONV_STUB( IfcFlowStorageDeviceType ); + DECL_CONV_STUB( IfcElectricFlowStorageDeviceType ); + DECL_CONV_STUB( IfcElectricGenerator ); + DECL_CONV_STUB( IfcElectricGeneratorType ); + DECL_CONV_STUB( IfcElectricMotor ); + DECL_CONV_STUB( IfcElectricMotorType ); + DECL_CONV_STUB( IfcElectricTimeControl ); + DECL_CONV_STUB( IfcElectricTimeControlType ); + DECL_CONV_STUB( IfcElementAssembly ); + DECL_CONV_STUB( IfcElementAssemblyType ); + DECL_CONV_STUB( IfcQuantitySet ); + DECL_CONV_STUB( IfcElementQuantity ); + DECL_CONV_STUB( IfcEllipse ); + DECL_CONV_STUB( IfcEllipseProfileDef ); + DECL_CONV_STUB( IfcEngine ); + DECL_CONV_STUB( IfcEngineType ); + DECL_CONV_STUB( IfcEvaporativeCooler ); + DECL_CONV_STUB( IfcEvaporativeCoolerType ); + DECL_CONV_STUB( IfcEvaporator ); + DECL_CONV_STUB( IfcEvaporatorType ); + DECL_CONV_STUB( IfcProcess ); + DECL_CONV_STUB( IfcEvent ); + DECL_CONV_STUB( IfcTypeProcess ); + DECL_CONV_STUB( IfcEventType ); + DECL_CONV_STUB( IfcExternalSpatialStructureElement ); + DECL_CONV_STUB( IfcExternalSpatialElement ); + DECL_CONV_STUB( IfcSweptAreaSolid ); + DECL_CONV_STUB( IfcExtrudedAreaSolid ); + DECL_CONV_STUB( IfcExtrudedAreaSolidTapered ); + DECL_CONV_STUB( IfcFaceBasedSurfaceModel ); + DECL_CONV_STUB( IfcFaceBound ); + DECL_CONV_STUB( IfcFaceOuterBound ); + DECL_CONV_STUB( IfcFacetedBrep ); + DECL_CONV_STUB( IfcFacetedBrepWithVoids ); + DECL_CONV_STUB( IfcFan ); + DECL_CONV_STUB( IfcFanType ); + DECL_CONV_STUB( IfcFastener ); + DECL_CONV_STUB( IfcFastenerType ); + DECL_CONV_STUB( IfcFeatureElement ); + DECL_CONV_STUB( IfcFeatureElementAddition ); + DECL_CONV_STUB( IfcFeatureElementSubtraction ); + DECL_CONV_STUB( IfcFillAreaStyleHatching ); + DECL_CONV_STUB( IfcFillAreaStyleTiles ); + DECL_CONV_STUB( IfcFilter ); + DECL_CONV_STUB( IfcFilterType ); + DECL_CONV_STUB( IfcFireSuppressionTerminal ); + DECL_CONV_STUB( IfcFireSuppressionTerminalType ); + DECL_CONV_STUB( IfcFixedReferenceSweptAreaSolid ); + DECL_CONV_STUB( IfcFlowInstrument ); + DECL_CONV_STUB( IfcFlowInstrumentType ); + DECL_CONV_STUB( IfcFlowMeter ); + DECL_CONV_STUB( IfcFlowMeterType ); + DECL_CONV_STUB( IfcFooting ); + DECL_CONV_STUB( IfcFootingType ); + DECL_CONV_STUB( IfcFurnishingElement ); + DECL_CONV_STUB( IfcFurnishingElementType ); + DECL_CONV_STUB( IfcFurniture ); + DECL_CONV_STUB( IfcFurnitureType ); + DECL_CONV_STUB( IfcGeographicElement ); + DECL_CONV_STUB( IfcGeographicElementType ); + DECL_CONV_STUB( IfcGeometricSet ); + DECL_CONV_STUB( IfcGeometricCurveSet ); + DECL_CONV_STUB( IfcRepresentationContext ); + DECL_CONV_STUB( IfcGeometricRepresentationContext ); + DECL_CONV_STUB( IfcGeometricRepresentationSubContext ); + DECL_CONV_STUB( IfcGrid ); + DECL_CONV_STUB( IfcObjectPlacement ); + DECL_CONV_STUB( IfcGridPlacement ); + DECL_CONV_STUB( IfcHeatExchanger ); + DECL_CONV_STUB( IfcHeatExchangerType ); + DECL_CONV_STUB( IfcHumidifier ); + DECL_CONV_STUB( IfcHumidifierType ); + DECL_CONV_STUB( IfcIShapeProfileDef ); + DECL_CONV_STUB( IfcIndexedPolyCurve ); + DECL_CONV_STUB( IfcTessellatedItem ); + DECL_CONV_STUB( IfcIndexedPolygonalFace ); + DECL_CONV_STUB( IfcIndexedPolygonalFaceWithVoids ); + DECL_CONV_STUB( IfcInterceptor ); + DECL_CONV_STUB( IfcInterceptorType ); + DECL_CONV_STUB( IfcSurfaceCurve ); + DECL_CONV_STUB( IfcIntersectionCurve ); + DECL_CONV_STUB( IfcInventory ); + DECL_CONV_STUB( IfcJunctionBox ); + DECL_CONV_STUB( IfcJunctionBoxType ); + DECL_CONV_STUB( IfcLShapeProfileDef ); + DECL_CONV_STUB( IfcLaborResource ); + DECL_CONV_STUB( IfcLaborResourceType ); + DECL_CONV_STUB( IfcLamp ); + DECL_CONV_STUB( IfcLampType ); + DECL_CONV_STUB( IfcLightFixture ); + DECL_CONV_STUB( IfcLightFixtureType ); + DECL_CONV_STUB( IfcLightSource ); + DECL_CONV_STUB( IfcLightSourceAmbient ); + DECL_CONV_STUB( IfcLightSourceDirectional ); + DECL_CONV_STUB( IfcLightSourceGoniometric ); + DECL_CONV_STUB( IfcLightSourcePositional ); + DECL_CONV_STUB( IfcLightSourceSpot ); + DECL_CONV_STUB( IfcLine ); + DECL_CONV_STUB( IfcLocalPlacement ); + DECL_CONV_STUB( IfcMappedItem ); + DECL_CONV_STUB( IfcProductRepresentation ); + DECL_CONV_STUB( IfcMaterialDefinitionRepresentation ); + DECL_CONV_STUB( IfcMeasureWithUnit ); + DECL_CONV_STUB( IfcMechanicalFastener ); + DECL_CONV_STUB( IfcMechanicalFastenerType ); + DECL_CONV_STUB( IfcMedicalDevice ); + DECL_CONV_STUB( IfcMedicalDeviceType ); + DECL_CONV_STUB( IfcMember ); + DECL_CONV_STUB( IfcMemberStandardCase ); + DECL_CONV_STUB( IfcMemberType ); + DECL_CONV_STUB( IfcMirroredProfileDef ); + DECL_CONV_STUB( IfcMotorConnection ); + DECL_CONV_STUB( IfcMotorConnectionType ); + DECL_CONV_STUB( IfcOccupant ); + DECL_CONV_STUB( IfcOffsetCurve2D ); + DECL_CONV_STUB( IfcOffsetCurve3D ); + DECL_CONV_STUB( IfcOpenShell ); + DECL_CONV_STUB( IfcOpeningElement ); + DECL_CONV_STUB( IfcOpeningStandardCase ); + DECL_CONV_STUB( IfcOrientedEdge ); + DECL_CONV_STUB( IfcOuterBoundaryCurve ); + DECL_CONV_STUB( IfcOutlet ); + DECL_CONV_STUB( IfcOutletType ); + DECL_CONV_STUB( IfcPath ); + DECL_CONV_STUB( IfcPcurve ); + DECL_CONV_STUB( IfcPerformanceHistory ); + DECL_CONV_STUB( IfcPermit ); + DECL_CONV_STUB( IfcPile ); + DECL_CONV_STUB( IfcPileType ); + DECL_CONV_STUB( IfcPipeFitting ); + DECL_CONV_STUB( IfcPipeFittingType ); + DECL_CONV_STUB( IfcPipeSegment ); + DECL_CONV_STUB( IfcPipeSegmentType ); + DECL_CONV_STUB( IfcPlanarExtent ); + DECL_CONV_STUB( IfcPlanarBox ); + DECL_CONV_STUB( IfcPlane ); + DECL_CONV_STUB( IfcPlate ); + DECL_CONV_STUB( IfcPlateStandardCase ); + DECL_CONV_STUB( IfcPlateType ); + DECL_CONV_STUB( IfcPointOnCurve ); + DECL_CONV_STUB( IfcPointOnSurface ); + DECL_CONV_STUB( IfcPolyLoop ); + DECL_CONV_STUB( IfcPolygonalBoundedHalfSpace ); + DECL_CONV_STUB( IfcTessellatedFaceSet ); + DECL_CONV_STUB( IfcPolygonalFaceSet ); + DECL_CONV_STUB( IfcPolyline ); + DECL_CONV_STUB( IfcPresentationStyleAssignment ); + DECL_CONV_STUB( IfcProcedure ); + DECL_CONV_STUB( IfcProcedureType ); + DECL_CONV_STUB( IfcProductDefinitionShape ); + DECL_CONV_STUB( IfcProject ); + DECL_CONV_STUB( IfcProjectLibrary ); + DECL_CONV_STUB( IfcProjectOrder ); + DECL_CONV_STUB( IfcProjectionElement ); + DECL_CONV_STUB( IfcSimpleProperty ); + DECL_CONV_STUB( IfcPropertyBoundedValue ); + DECL_CONV_STUB( IfcPropertyEnumeratedValue ); + DECL_CONV_STUB( IfcPropertyListValue ); + DECL_CONV_STUB( IfcPropertyReferenceValue ); + DECL_CONV_STUB( IfcPropertySet ); + DECL_CONV_STUB( IfcPropertySingleValue ); + DECL_CONV_STUB( IfcPropertyTableValue ); + DECL_CONV_STUB( IfcProtectiveDevice ); + DECL_CONV_STUB( IfcProtectiveDeviceTrippingUnit ); + DECL_CONV_STUB( IfcProtectiveDeviceTrippingUnitType ); + DECL_CONV_STUB( IfcProtectiveDeviceType ); + DECL_CONV_STUB( IfcProxy ); + DECL_CONV_STUB( IfcPump ); + DECL_CONV_STUB( IfcPumpType ); + DECL_CONV_STUB( IfcRailing ); + DECL_CONV_STUB( IfcRailingType ); + DECL_CONV_STUB( IfcRamp ); + DECL_CONV_STUB( IfcRampFlight ); + DECL_CONV_STUB( IfcRampFlightType ); + DECL_CONV_STUB( IfcRampType ); + DECL_CONV_STUB( IfcRationalBSplineCurveWithKnots ); + DECL_CONV_STUB( IfcRationalBSplineSurfaceWithKnots ); + DECL_CONV_STUB( IfcRectangleProfileDef ); + DECL_CONV_STUB( IfcRectangleHollowProfileDef ); + DECL_CONV_STUB( IfcRectangularPyramid ); + DECL_CONV_STUB( IfcRectangularTrimmedSurface ); + DECL_CONV_STUB( IfcReinforcingElement ); + DECL_CONV_STUB( IfcReinforcingBar ); + DECL_CONV_STUB( IfcReinforcingElementType ); + DECL_CONV_STUB( IfcReinforcingBarType ); + DECL_CONV_STUB( IfcReinforcingMesh ); + DECL_CONV_STUB( IfcReinforcingMeshType ); + DECL_CONV_STUB( IfcRelationship ); + DECL_CONV_STUB( IfcRelDecomposes ); + DECL_CONV_STUB( IfcRelAggregates ); + DECL_CONV_STUB( IfcRelConnects ); + DECL_CONV_STUB( IfcRelContainedInSpatialStructure ); + DECL_CONV_STUB( IfcRelDefines ); + DECL_CONV_STUB( IfcRelDefinesByProperties ); + DECL_CONV_STUB( IfcRelFillsElement ); + DECL_CONV_STUB( IfcRelVoidsElement ); + DECL_CONV_STUB( IfcReparametrisedCompositeCurveSegment ); + DECL_CONV_STUB( IfcRepresentation ); + DECL_CONV_STUB( IfcRepresentationMap ); + DECL_CONV_STUB( IfcRevolvedAreaSolid ); + DECL_CONV_STUB( IfcRevolvedAreaSolidTapered ); + DECL_CONV_STUB( IfcRightCircularCone ); + DECL_CONV_STUB( IfcRightCircularCylinder ); + DECL_CONV_STUB( IfcRoof ); + DECL_CONV_STUB( IfcRoofType ); + DECL_CONV_STUB( IfcRoundedRectangleProfileDef ); + DECL_CONV_STUB( IfcSIUnit ); + DECL_CONV_STUB( IfcSanitaryTerminal ); + DECL_CONV_STUB( IfcSanitaryTerminalType ); + DECL_CONV_STUB( IfcSeamCurve ); + DECL_CONV_STUB( IfcSectionedSpine ); + DECL_CONV_STUB( IfcSensor ); + DECL_CONV_STUB( IfcSensorType ); + DECL_CONV_STUB( IfcShadingDevice ); + DECL_CONV_STUB( IfcShadingDeviceType ); + DECL_CONV_STUB( IfcShapeModel ); + DECL_CONV_STUB( IfcShapeRepresentation ); + DECL_CONV_STUB( IfcShellBasedSurfaceModel ); + DECL_CONV_STUB( IfcSite ); + DECL_CONV_STUB( IfcSlab ); + DECL_CONV_STUB( IfcSlabElementedCase ); + DECL_CONV_STUB( IfcSlabStandardCase ); + DECL_CONV_STUB( IfcSlabType ); + DECL_CONV_STUB( IfcSolarDevice ); + DECL_CONV_STUB( IfcSolarDeviceType ); + DECL_CONV_STUB( IfcSpace ); + DECL_CONV_STUB( IfcSpaceHeater ); + DECL_CONV_STUB( IfcSpaceHeaterType ); + DECL_CONV_STUB( IfcSpatialElementType ); + DECL_CONV_STUB( IfcSpatialStructureElementType ); + DECL_CONV_STUB( IfcSpaceType ); + DECL_CONV_STUB( IfcSpatialZone ); + DECL_CONV_STUB( IfcSpatialZoneType ); + DECL_CONV_STUB( IfcSphere ); + DECL_CONV_STUB( IfcSphericalSurface ); + DECL_CONV_STUB( IfcStackTerminal ); + DECL_CONV_STUB( IfcStackTerminalType ); + DECL_CONV_STUB( IfcStair ); + DECL_CONV_STUB( IfcStairFlight ); + DECL_CONV_STUB( IfcStairFlightType ); + DECL_CONV_STUB( IfcStairType ); + DECL_CONV_STUB( IfcStructuralActivity ); + DECL_CONV_STUB( IfcStructuralAction ); + DECL_CONV_STUB( IfcStructuralAnalysisModel ); + DECL_CONV_STUB( IfcStructuralItem ); + DECL_CONV_STUB( IfcStructuralConnection ); + DECL_CONV_STUB( IfcStructuralCurveAction ); + DECL_CONV_STUB( IfcStructuralCurveConnection ); + DECL_CONV_STUB( IfcStructuralMember ); + DECL_CONV_STUB( IfcStructuralCurveMember ); + DECL_CONV_STUB( IfcStructuralCurveMemberVarying ); + DECL_CONV_STUB( IfcStructuralReaction ); + DECL_CONV_STUB( IfcStructuralCurveReaction ); + DECL_CONV_STUB( IfcStructuralLinearAction ); + DECL_CONV_STUB( IfcStructuralLoadGroup ); + DECL_CONV_STUB( IfcStructuralLoadCase ); + DECL_CONV_STUB( IfcStructuralSurfaceAction ); + DECL_CONV_STUB( IfcStructuralPlanarAction ); + DECL_CONV_STUB( IfcStructuralPointAction ); + DECL_CONV_STUB( IfcStructuralPointConnection ); + DECL_CONV_STUB( IfcStructuralPointReaction ); + DECL_CONV_STUB( IfcStructuralResultGroup ); + DECL_CONV_STUB( IfcStructuralSurfaceConnection ); + DECL_CONV_STUB( IfcStructuralSurfaceMember ); + DECL_CONV_STUB( IfcStructuralSurfaceMemberVarying ); + DECL_CONV_STUB( IfcStructuralSurfaceReaction ); + DECL_CONV_STUB( IfcStyleModel ); + DECL_CONV_STUB( IfcStyledItem ); + DECL_CONV_STUB( IfcStyledRepresentation ); + DECL_CONV_STUB( IfcSubContractResource ); + DECL_CONV_STUB( IfcSubContractResourceType ); + DECL_CONV_STUB( IfcSubedge ); + DECL_CONV_STUB( IfcSurfaceCurveSweptAreaSolid ); + DECL_CONV_STUB( IfcSurfaceFeature ); + DECL_CONV_STUB( IfcSweptSurface ); + DECL_CONV_STUB( IfcSurfaceOfLinearExtrusion ); + DECL_CONV_STUB( IfcSurfaceOfRevolution ); + DECL_CONV_STUB( IfcSurfaceStyle ); + DECL_CONV_STUB( IfcSurfaceStyleShading ); + DECL_CONV_STUB( IfcSurfaceStyleRendering ); + DECL_CONV_STUB( IfcSurfaceStyleWithTextures ); + DECL_CONV_STUB( IfcSweptDiskSolid ); + DECL_CONV_STUB( IfcSweptDiskSolidPolygonal ); + DECL_CONV_STUB( IfcSwitchingDevice ); + DECL_CONV_STUB( IfcSwitchingDeviceType ); + DECL_CONV_STUB( IfcSystemFurnitureElement ); + DECL_CONV_STUB( IfcSystemFurnitureElementType ); + DECL_CONV_STUB( IfcTShapeProfileDef ); + DECL_CONV_STUB( IfcTank ); + DECL_CONV_STUB( IfcTankType ); + DECL_CONV_STUB( IfcTask ); + DECL_CONV_STUB( IfcTaskType ); + DECL_CONV_STUB( IfcTendon ); + DECL_CONV_STUB( IfcTendonAnchor ); + DECL_CONV_STUB( IfcTendonAnchorType ); + DECL_CONV_STUB( IfcTendonType ); + DECL_CONV_STUB( IfcTextLiteral ); + DECL_CONV_STUB( IfcTextLiteralWithExtent ); + DECL_CONV_STUB( IfcTopologyRepresentation ); + DECL_CONV_STUB( IfcToroidalSurface ); + DECL_CONV_STUB( IfcTransformer ); + DECL_CONV_STUB( IfcTransformerType ); + DECL_CONV_STUB( IfcTransportElement ); + DECL_CONV_STUB( IfcTransportElementType ); + DECL_CONV_STUB( IfcTrapeziumProfileDef ); + DECL_CONV_STUB( IfcTriangulatedFaceSet ); + DECL_CONV_STUB( IfcTrimmedCurve ); + DECL_CONV_STUB( IfcTubeBundle ); + DECL_CONV_STUB( IfcTubeBundleType ); + DECL_CONV_STUB( IfcUShapeProfileDef ); + DECL_CONV_STUB( IfcUnitAssignment ); + DECL_CONV_STUB( IfcUnitaryControlElement ); + DECL_CONV_STUB( IfcUnitaryControlElementType ); + DECL_CONV_STUB( IfcUnitaryEquipment ); + DECL_CONV_STUB( IfcUnitaryEquipmentType ); + DECL_CONV_STUB( IfcValve ); + DECL_CONV_STUB( IfcValveType ); + DECL_CONV_STUB( IfcVector ); + DECL_CONV_STUB( IfcVertex ); + DECL_CONV_STUB( IfcVertexLoop ); + DECL_CONV_STUB( IfcVertexPoint ); + DECL_CONV_STUB( IfcVibrationIsolator ); + DECL_CONV_STUB( IfcVibrationIsolatorType ); + DECL_CONV_STUB( IfcVirtualElement ); + DECL_CONV_STUB( IfcVoidingFeature ); + DECL_CONV_STUB( IfcWall ); + DECL_CONV_STUB( IfcWallElementedCase ); + DECL_CONV_STUB( IfcWallStandardCase ); + DECL_CONV_STUB( IfcWallType ); + DECL_CONV_STUB( IfcWasteTerminal ); + DECL_CONV_STUB( IfcWasteTerminalType ); + DECL_CONV_STUB( IfcWindow ); + DECL_CONV_STUB( IfcWindowStandardCase ); + DECL_CONV_STUB( IfcWindowStyle ); + DECL_CONV_STUB( IfcWindowType ); + DECL_CONV_STUB( IfcWorkCalendar ); + DECL_CONV_STUB( IfcWorkControl ); + DECL_CONV_STUB( IfcWorkPlan ); + DECL_CONV_STUB( IfcWorkSchedule ); + DECL_CONV_STUB( IfcZShapeProfileDef ); + DECL_CONV_STUB( IfcZone ); #undef DECL_CONV_STUB +} //! Schema_4 } //! STEP } //! Assimp diff --git a/code/LimitBoneWeightsProcess.h b/code/LimitBoneWeightsProcess.h index 2fc6e02b1..090181982 100644 --- a/code/LimitBoneWeightsProcess.h +++ b/code/LimitBoneWeightsProcess.h @@ -120,7 +120,11 @@ public: { unsigned int mBone; ///< Index of the bone float mWeight; ///< Weight of that bone on this vertex - Weight() { } + Weight() + : mBone(0) + , mWeight(0.0f) + { } + Weight( unsigned int pBone, float pWeight) { mBone = pBone; diff --git a/code/PretransformVertices.cpp b/code/PretransformVertices.cpp index 6c569c185..cc5c669e4 100644 --- a/code/PretransformVertices.cpp +++ b/code/PretransformVertices.cpp @@ -651,7 +651,8 @@ void PretransformVertices::Execute( aiScene* pScene) // generate mesh nodes for (unsigned int i = 0; i < pScene->mNumMeshes;++i,++nodes) { - aiNode* pcNode = *nodes = new aiNode(); + aiNode* pcNode = new aiNode(); + *nodes = pcNode; pcNode->mParent = pScene->mRootNode; pcNode->mName = pScene->mMeshes[i]->mName; @@ -663,7 +664,8 @@ void PretransformVertices::Execute( aiScene* pScene) // generate light nodes for (unsigned int i = 0; i < pScene->mNumLights;++i,++nodes) { - aiNode* pcNode = *nodes = new aiNode(); + aiNode* pcNode = new aiNode(); + *nodes = pcNode; pcNode->mParent = pScene->mRootNode; pcNode->mName.length = ai_snprintf(pcNode->mName.data, MAXLEN, "light_%u",i); pScene->mLights[i]->mName = pcNode->mName; @@ -671,7 +673,8 @@ void PretransformVertices::Execute( aiScene* pScene) // generate camera nodes for (unsigned int i = 0; i < pScene->mNumCameras;++i,++nodes) { - aiNode* pcNode = *nodes = new aiNode(); + aiNode* pcNode = new aiNode(); + *nodes = pcNode; pcNode->mParent = pScene->mRootNode; pcNode->mName.length = ::ai_snprintf(pcNode->mName.data,MAXLEN,"cam_%u",i); pScene->mCameras[i]->mName = pcNode->mName; diff --git a/doc/dox.h b/doc/dox.h index 5c6de51f1..d9462590b 100644 --- a/doc/dox.h +++ b/doc/dox.h @@ -62,7 +62,7 @@ that it has not been implemented yet and some (most ...) formats lack proper spe See the @link importer_notes Importer Notes Page @endlink for information, what a specific importer can do and what not. Note that although this paper claims to be the official documentation, -http://assimp.sourceforge.net/main_features_formats.html +https://github.com/assimp/assimp/blob/master/Readme.md
is usually the most up-to-date list of file formats supported by the library.
1: Experimental loaders
@@ -90,9 +90,16 @@ but not all of them are *open-source*. If there's an accompagning '\source @section main_install Installation assimp can be used in two ways: linking against the pre-built libraries or building the library on your own. The former -option is the easiest, but the assimp distribution contains pre-built libraries only for Visual C++ 2005 and 2008. For other -compilers you'll have to build assimp for yourself. Which is hopefully as hassle-free as the other way, but needs a bit -more work. Both ways are described at the @link install Installation page. @endlink +option is the easiest, but the assimp distribution contains pre-built libraries only for Visual C++ 2013, 2015 and 2017. +For other compilers you'll have to build assimp for yourself. Which is hopefully as hassle-free as the other way, but +needs a bit more work. Both ways are described at the @link install Installation page. @endlink +If you want to use assimp on Ubuntu you can install it via the following command: + +@code +sudo apt-get install assimp +@endcode + +If you want to use the python-assimp-port just follow these instructions: https://github.com/assimp/assimp/tree/master/port/PyAssimp @section main_usage Usage @@ -115,7 +122,6 @@ assimp is considerably easy, as the whole postprocessing infrastructure is avail See the @link extend Extending the library @endlink page for more information. - @section main_support Support & Feedback If you have any questions/comments/suggestions/bug reports you're welcome to post them in our @@ -133,129 +139,50 @@ assimp-discussions. @section install_prebuilt Using the pre-built libraries with Visual C++ 8/9 -If you develop at Visual Studio 2005 or 2008, you can simply use the pre-built linker libraries provided in the distribution. +If you develop at Visual Studio 2015 or 2017, you can simply use the pre-built linker libraries provided in the distribution. Extract all files to a place of your choice. A directory called "assimp" will be created there. Add the assimp/include path to your include paths (Menu->Extras->Options->Projects and Solutions->VC++ Directories->Include files) and the assimp/lib/<Compiler> path to your linker paths (Menu->Extras->Options->Projects and Solutions->VC++ Directories->Library files). This is necessary only once to setup all paths inside you IDE. -To use the library in your C++ project you have to include either <assimp/Importer.hpp> or <assimp/cimport.h> plus some others starting with <types.h>. -If you set up your IDE correctly the compiler should be able to find the files. Then you have to add the linker library to your -project dependencies. Link to /lib//assimp.lib. config-name is one of the predefined -project configs. For static linking, use release/debug. See the sections below on this page for more information on the -other build configs. -If done correctly you should now be able to compile, link, -run and use the application. If the linker complains about some integral functions being defined twice you probably have -mixed the runtimes. Recheck the project configuration (project properties -> C++ -> Code generation -> Runtime) if you use -static runtimes (Multithreaded / Multithreaded Debug) or dynamic runtimes (Multithreaded DLL / Multithreaded Debug DLL). -Choose the assimp linker lib accordingly. -

-Please don't forget to also read the @ref assimp_stl section on MSVC and the STL. - -@section assimp_stl Microsoft Compilers and the C++ Standard Library - -In VC8 and VC9 Microsoft introduced some Standard Library debugging features. A good example are improved iterator checks and -various useful debug checks. The problem is the performance penalty that incurs with those extra checks. - -Most of these security enhancements are active in release builds by default, rendering assimp several times -slower. However, it is possible to disable them by setting +To use the library in your C++ project you can simply generate a project file via cmake. One way is to add the assimp-folder +as a subdirectory via the cmake-command @code -_HAS_ITERATOR_DEBUGGING=0 -_SECURE_SCL=0 +addsubdiectory(assimp) @endcode -in the preprocessor options (or alternatively in the source code, just before the STL is included for the first time). -assimp's vc8 and vc9 configs enable these flags by default. +Now just add the assimp-dependency to your application: -If you're linking statically against assimp: Make sure your applications uses the same STl settings! -If you do not, there are two binary incompatible STL versions mangled together and you'll crash. -Alternatively you can disable the fast STL settings for assimp by removing the 'FastSTL' property sheet from -the vc project file. +@code +TARGET_LINK_LIBRARIES(my_game assimp) +@endcode -If you're using assimp in a DLL/SO: It's ok. There's no STL used in the binary DLL/SO interface, so it doesn't care whether -your application uses the same STL settings or not. -

-Another option is to build against a different STL implementation, for example STlport. There's a special -@ref assimp_stlport section that has a description how to achieve this. +If done correctly you should now be able to compile, link, run and use the application. @section install_own Building the library from scratch -To build the library on your own you first have to get hold of the dependencies. Fortunately, special attention was paid to -keep the list of dependencies short. Unfortunately, the only dependency is boost which -can be a bit painful to set up for certain development environments. Boost is a widely used collection of classes and -functions for various purposes. Chances are that it was already installed along with your compiler. If not, you have to install -it for yourself. Read the "Getting Started" section of the Boost documentation for how to setup boost. VisualStudio users -can use a comfortable installer from -http://www.boost-consulting.com/products/free. Choose the appropriate version of boost for your runtime of choice. +First you need to install cmake. Now just get the code from github or download the latest version from the webside. +to buil the library just open a command-prompt / bash, navigate into the repo-folder and run cmake via: -If you don't want to use boost, you can build against our "Boost-Workaround". It consists of very small -implementations of the various boost utility classes used. However, you'll lose functionality (e.g. threading) by doing this. -So, if you can use boost, you should use boost. Otherwise, See the @link use_noboost NoBoost-Section @endlink -later on this page for the details of the workaround. - -Once boost is working, you have to set up a project for the assimp library in your favorite IDE. If you use VC2005 or -VC2008, you can simply load the solution or project files in the workspaces/ folder, otherwise you have to create a new -package and add all the headers and source files from the include/ and code/ directories. Set the temporary output folder -to obj/, for example, and redirect the output folder to bin/. Then build the library - it should compile and link fine. - -The last step is to integrate the library into your project. This is basically the same task as described in the -"Using the pre-built libraries" section above: add the include/ and bin/ directories to your IDE's paths so that the compiler can find -the library files. Alternatively you can simply add the assimp project to your project's overall solution and build it inside -your solution. - - -@section use_noboost Building without boost. - -The Boost-Workaround consists of dummy replacements for some boost utility templates. Currently there are replacements for - - - boost.scoped_ptr - - boost.scoped_array - - boost.format - - boost.random - - boost.common_factor - - boost.foreach - - boost.tuple - - boost.make_shared - -These implementations are very limited and are not intended for use outside assimp. A compiler -with full support for partial template specializations is required. To enable the workaround, put the following in -your compiler's list of predefined macros: @code -#define ASSIMP_BUILD_BOOST_WORKAROUND +cmake CMakeLists.txt @endcode -
-If you're working with the provided solutions for Visual Studio use the -noboost build configs.
- -assimp_BUILD_BOOST_WORKAROUND implies assimp_BUILD_SINGLETHREADED.
-See the @ref assimp_st section -for more details. - +A project-file of your default make-system ( like gnu-make on linux or Visual-Studio on Windows ) will be generated. +Run the build and you are done. You can find the libs at assimp/lib and the dll's / so's at bin. @section assimp_dll Windows DLL Build -assimp can be built as DLL. You just need to select a -dll config from the list of project -configs and you're fine. +The Assimp-package can be built as DLL. You just need to run the default cmake run. -NOTE: Theoretically, assimp-dll can be used with multithreaded (non-dll) runtime libraries, -as long as you don't utilize any non-public stuff from the code folder. However, if you happen -to encounter *very* strange problems, try changing the runtime to Multithreaded (Debug) DLL. -@section assimp_stlport Building against STLport +@section assimp static lib -STLport is a free, fast and secure STL replacement that works with -all major compilers and platforms. To get it, download the latest release from -. -Usually you'll just need to run 'configure' + a makefile (see their README for more details). -Don't miss to add /stlport to your compiler's default include paths - prior -to the directory where your compiler vendor's headers lie. Do the same for /lib and -recompile assimp. To ensure you're really building against STLport see aiGetCompileFlags(). -
-In our testing, STLport builds tend to be a bit faster than builds against Microsoft's -C++ Standard Library. +The Assimp-package can be build as a static library as well. Do do so just set the configuration variable BUILD_SHARED_LIBS +to off during the cmake run. */ diff --git a/include/assimp/Importer.hpp b/include/assimp/Importer.hpp index 1263868bc..9ae8fccc6 100644 --- a/include/assimp/Importer.hpp +++ b/include/assimp/Importer.hpp @@ -139,6 +139,11 @@ public: */ Importer(const Importer& other); + // ------------------------------------------------------------------- + /** Assignment operator has been deleted + */ + Importer &operator=(const Importer &) = delete; + // ------------------------------------------------------------------- /** Destructor. The object kept ownership of the imported data, * which now will be destroyed along with the object. diff --git a/include/assimp/anim.h b/include/assimp/anim.h index 9156aac06..1a2c11044 100644 --- a/include/assimp/anim.h +++ b/include/assimp/anim.h @@ -162,7 +162,10 @@ struct aiMeshKey #ifdef __cplusplus - aiMeshKey() { + aiMeshKey() + : mTime(0.0) + , mValue(0) + { } /** Construction from a given time and key value */ diff --git a/include/assimp/matrix3x3.inl b/include/assimp/matrix3x3.inl index aaf62eb0f..ab2cc410b 100644 --- a/include/assimp/matrix3x3.inl +++ b/include/assimp/matrix3x3.inl @@ -313,16 +313,16 @@ inline aiMatrix3x3t& aiMatrix3x3t::FromToMatrix(const aiVector3t(2.0) / (u * u); - const TReal c2 = static_cast(2.0) / (v * v); - const TReal c3 = c1 * c2 * (u * v); + const TReal c1_ = static_cast(2.0) / (u * u); + const TReal c2_ = static_cast(2.0) / (v * v); + const TReal c3_ = c1_ * c2_ * (u * v); for (unsigned int i = 0; i < 3; i++) { for (unsigned int j = 0; j < 3; j++) { - mtx[i][j] = - c1 * u[i] * u[j] - c2 * v[i] * v[j] - + c3 * v[i] * u[j]; + mtx[i][j] = - c1_ * u[i] * u[j] - c2_ * v[i] * v[j] + + c3_ * v[i] * u[j]; } mtx[i][i] += static_cast(1.0); } diff --git a/include/assimp/mesh.h b/include/assimp/mesh.h index a532e2b46..5896284f6 100644 --- a/include/assimp/mesh.h +++ b/include/assimp/mesh.h @@ -212,7 +212,10 @@ struct aiVertexWeight #ifdef __cplusplus //! Default constructor - aiVertexWeight() { } + aiVertexWeight() + : mVertexId(0) + , mWeight(0.0f) + { } //! Initialisation from a given index and vertex weight factor //! \param pID ID @@ -270,6 +273,32 @@ struct aiBone } } + + //! Assignment operator + aiBone &operator=(const aiBone& other) + { + if (this == &other) { + return *this; + } + + mName = other.mName; + mNumWeights = other.mNumWeights; + mOffsetMatrix = other.mOffsetMatrix; + + if (other.mWeights && other.mNumWeights) + { + if (mWeights) { + delete[] mWeights; + } + + mWeights = new aiVertexWeight[mNumWeights]; + ::memcpy(mWeights,other.mWeights,mNumWeights * sizeof(aiVertexWeight)); + } + + return *this; + } + + //! Destructor - deletes the array of vertex weights ~aiBone() { diff --git a/include/assimp/types.h b/include/assimp/types.h index f0d9b2428..9868f657c 100644 --- a/include/assimp/types.h +++ b/include/assimp/types.h @@ -304,6 +304,20 @@ struct aiString data[len] = 0; } + + /** Assigment operator */ + aiString& operator = (const aiString &rOther) { + if (this == &rOther) { + return *this; + } + + length = rOther.length;; + memcpy( data, rOther.data, length); + data[length] = '\0'; + return *this; + } + + /** Assign a const char* to the string */ aiString& operator = (const char* sz) { Set(sz);