// File: MDataStd.cxx // ------------ // Author: DAUTRY Philippe // modified Sergey Zaritchny // Copyright: Matra Datavision 1997 // Version: 0.0 // History: Version Date Purpose // 0.0 Aug 4 1997 Creation #include #include #include #include // // Storage // #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include // // Retrieval // #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include // // enums // #include #include //======================================================================= //function : AddStorageDriver //purpose : //======================================================================= void MDataStd::AddStorageDrivers (const Handle(MDF_ASDriverHSequence)& aDriverSeq, const Handle(CDM_MessageDriver)& theMsgDriver) { aDriverSeq->Append(new MDataStd_DirectoryStorageDriver(theMsgDriver)); aDriverSeq->Append(new MDataStd_IntegerArrayStorageDriver(theMsgDriver)); aDriverSeq->Append(new MDataStd_RealArrayStorageDriver(theMsgDriver)); aDriverSeq->Append(new MDataStd_UAttributeStorageDriver(theMsgDriver)); aDriverSeq->Append(new MDataStd_NameStorageDriver(theMsgDriver)); aDriverSeq->Append(new MDataStd_CommentStorageDriver(theMsgDriver)); aDriverSeq->Append(new MDataStd_IntegerStorageDriver(theMsgDriver)); aDriverSeq->Append(new MDataStd_RealStorageDriver(theMsgDriver)); aDriverSeq->Append(new MDataStd_VariableStorageDriver(theMsgDriver)); aDriverSeq->Append(new MDataStd_ExpressionStorageDriver(theMsgDriver)); aDriverSeq->Append(new MDataStd_RelationStorageDriver(theMsgDriver)); aDriverSeq->Append(new MDataStd_NoteBookStorageDriver(theMsgDriver)); aDriverSeq->Append(new MDataStd_TreeNodeStorageDriver(theMsgDriver)); aDriverSeq->Append(new MDataStd_ExtStringArrayStorageDriver(theMsgDriver)); aDriverSeq->Append(new MDataStd_TickStorageDriver(theMsgDriver)); aDriverSeq->Append(new MDataStd_IntegerListStorageDriver(theMsgDriver)); aDriverSeq->Append(new MDataStd_RealListStorageDriver(theMsgDriver)); aDriverSeq->Append(new MDataStd_ExtStringListStorageDriver(theMsgDriver)); aDriverSeq->Append(new MDataStd_BooleanListStorageDriver(theMsgDriver)); aDriverSeq->Append(new MDataStd_ReferenceListStorageDriver(theMsgDriver)); aDriverSeq->Append(new MDataStd_BooleanArrayStorageDriver(theMsgDriver)); aDriverSeq->Append(new MDataStd_ReferenceArrayStorageDriver(theMsgDriver)); aDriverSeq->Append(new MDataStd_ByteArrayStorageDriver(theMsgDriver)); aDriverSeq->Append(new MDataStd_NamedDataStorageDriver(theMsgDriver)); aDriverSeq->Append(new MDataStd_AsciiStringStorageDriver(theMsgDriver)); aDriverSeq->Append(new MDataStd_IntPackedMapStorageDriver(theMsgDriver)); } //======================================================================= //function : AddRetrievalDriver //purpose : //======================================================================= void MDataStd::AddRetrievalDrivers (const Handle(MDF_ARDriverHSequence)& aDriverSeq,const Handle(CDM_MessageDriver)& theMsgDriver) { aDriverSeq->Append(new MDataStd_DirectoryRetrievalDriver(theMsgDriver)); aDriverSeq->Append(new MDataStd_IntegerArrayRetrievalDriver(theMsgDriver)); aDriverSeq->Append(new MDataStd_RealArrayRetrievalDriver(theMsgDriver)); aDriverSeq->Append(new MDataStd_UAttributeRetrievalDriver(theMsgDriver)); aDriverSeq->Append(new MDataStd_NameRetrievalDriver(theMsgDriver)); aDriverSeq->Append(new MDataStd_CommentRetrievalDriver(theMsgDriver)); aDriverSeq->Append(new MDataStd_IntegerRetrievalDriver(theMsgDriver)); aDriverSeq->Append(new MDataStd_RealRetrievalDriver(theMsgDriver)); aDriverSeq->Append(new MDataStd_VariableRetrievalDriver(theMsgDriver)); aDriverSeq->Append(new MDataStd_ExpressionRetrievalDriver(theMsgDriver)); aDriverSeq->Append(new MDataStd_RelationRetrievalDriver(theMsgDriver)); aDriverSeq->Append(new MDataStd_NoteBookRetrievalDriver(theMsgDriver)); aDriverSeq->Append(new MDataStd_TreeNodeRetrievalDriver(theMsgDriver)); aDriverSeq->Append(new MDataStd_ExtStringArrayRetrievalDriver(theMsgDriver)); aDriverSeq->Append(new MDataStd_TickRetrievalDriver(theMsgDriver)); aDriverSeq->Append(new MDataStd_IntegerListRetrievalDriver(theMsgDriver)); aDriverSeq->Append(new MDataStd_RealListRetrievalDriver(theMsgDriver)); aDriverSeq->Append(new MDataStd_ExtStringListRetrievalDriver(theMsgDriver)); aDriverSeq->Append(new MDataStd_BooleanListRetrievalDriver(theMsgDriver)); aDriverSeq->Append(new MDataStd_ReferenceListRetrievalDriver(theMsgDriver)); aDriverSeq->Append(new MDataStd_BooleanArrayRetrievalDriver(theMsgDriver)); aDriverSeq->Append(new MDataStd_ReferenceArrayRetrievalDriver(theMsgDriver)); aDriverSeq->Append(new MDataStd_ByteArrayRetrievalDriver(theMsgDriver)); aDriverSeq->Append(new MDataStd_NamedDataRetrievalDriver(theMsgDriver)); aDriverSeq->Append(new MDataStd_AsciiStringRetrievalDriver(theMsgDriver)); aDriverSeq->Append(new MDataStd_IntPackedMapRetrievalDriver(theMsgDriver)); aDriverSeq->Append(new MDataStd_ByteArrayRetrievalDriver_1(theMsgDriver)); aDriverSeq->Append(new MDataStd_IntegerArrayRetrievalDriver_1(theMsgDriver)); aDriverSeq->Append(new MDataStd_RealArrayRetrievalDriver_1(theMsgDriver)); aDriverSeq->Append(new MDataStd_ExtStringArrayRetrievalDriver_1(theMsgDriver)); aDriverSeq->Append(new MDataStd_IntPackedMapRetrievalDriver_1(theMsgDriver)); } //======================================================================= //function : RealDimensionToInteger //purpose : //======================================================================= Standard_Integer MDataStd::RealDimensionToInteger(const TDataStd_RealEnum e) { switch (e) { case TDataStd_SCALAR : return 0; case TDataStd_LENGTH : return 1; case TDataStd_ANGULAR : return 2; default: Standard_DomainError::Raise("TDataStd_RealEnum; enum term unknown"); } return 0; } //======================================================================= //function : IntegerToRealDimension //purpose : //======================================================================= TDataStd_RealEnum MDataStd::IntegerToRealDimension(const Standard_Integer i) { switch(i) { // planar constraints case 0 : return TDataStd_SCALAR; case 1 : return TDataStd_LENGTH; case 2 : return TDataStd_ANGULAR; default : Standard_DomainError::Raise("TDataStd_RealEnum; enum term unknown "); } return TDataStd_SCALAR; }