const TVTKSource&
GetSource() const;
+ //! Reimplement the TIDMapper::GetVTKOutput
virtual
TVTKOutput*
GetVTKOutput();
const TVTKAppendFilter&
GetFilter() const;
+ //! Reimplement the TIDMapper::GetVTKOutput
virtual
TVTKOutput*
GetVTKOutput();
const TVTKMergeFilter&
GetFilter() const;
+ //! Reimplement the TIDMapper::GetVTKOutput
virtual
TVTKOutput*
GetVTKOutput();
struct TMeshImpl: virtual TMesh,
virtual TIsVTKDone
{
- PNamedPointCoords myNamedPointCoords;
+ PNamedPointCoords myNamedPointCoords; //!< Keeps intermediate representation of the nodes
- TVTKPoints myPoints;
- vtkIdType myNbPoints;
+ TVTKPoints myPoints; //!< Keeps VTK representation of the nodes
+ vtkIdType myNbPoints; //!< Keeps number of the nodes
TMeshImpl();
};
vtkCell*
GetElemCell(vtkIdType theObjID);
- //! Get corresponding VTK output
+ //! Reimplement the TIDMapper::GetVTKOutput
virtual
TVTKOutput*
GetVTKOutput();
TID2ID myElemObj2VTKID; //!< Keeps object to VTK numeration mapping
- TSubProfileArr mySubProfileArr; //!< Keeps sequence of TSubProfiles as they was added into TAppendFilter
+ TSubProfileArr mySubProfileArr; //!< Keeps sequence of TSubProfiles as they were added into TAppendFilter
PNamedPointCoords myNamedPointCoords; //!< Keeps reference on the same TNamedPointCoords as TMesh
TMeshOnEntityImpl* myMeshOnEntity; //<! Keeps backward reference to corresponding MED ENTITY mesh
- TSource mySource; //! Keeps VTK representation of the MED TIMESTAMP mesh
- TGeom2SubProfile myGeom2SubProfile; //! Keeps TSubProfiles according to their geometrical type
+ TSource mySource; //!< Keeps VTK representation of the MED TIMESTAMP mesh
+ TGeom2SubProfile myGeom2SubProfile; //!< Keeps TSubProfiles according to their geometrical type
};
typedef SharedPtr<TProfileImpl> PProfileImpl;
//---------------------------------------------------------------
- //! Specialize TMergeFilter to provide VTK mapping for MED TIMESTAMP mesh
+ //! Specialize TIDMapper to provide VTK mapping for MED TIMESTAMP mesh
struct TIDMapperFilter: virtual TMergeFilter
{
TAppendFilter myIDMapper; //!< Responsible for numbering
vtkCell*
GetElemCell(vtkIdType theObjID);
+ //! Reimplement the TIDMapper::GetVTKOutput
virtual
TVTKOutput*
GetVTKOutput();
//---------------------------------------------------------------
- //! Specialize TGauss to provide more detail information for the MED GAUSS entity
+ //! Specialize TGauss to provide more detail information of the MED GAUSS entity for VTK mapping
struct TGaussImpl: virtual TGauss
{
EGeometry myGeom; //!< Define, to which geometrical type the MED GAUSS entity belongs
TGaussPointID
GetObjID(vtkIdType theID) const;
+ //! Reimplement the TIDMapper::GetVTKOutput
virtual
TVTKOutput*
GetVTKOutput();
TSource mySource; //!< Keeps VTK representation of the Gauss Points
TNamedIDMapper* myParent; //!< Refer to parent mesh
- TGaussSubMeshArr myGaussSubMeshArr; //!< Keeps sequence of TGaussSubMesh as they was added into TAppendFilter
- TGeom2GaussSubMesh myGeom2GaussSubMesh; //! Keeps TGaussSubMesh according to their geometrical type
+ TGaussSubMeshArr myGaussSubMeshArr; //!< Keeps sequence of TGaussSubMesh as they were added into TAppendFilter
+ TGeom2GaussSubMesh myGeom2GaussSubMesh; //!< Keeps TGaussSubMesh according to their geometrical type
};
typedef SharedPtr<TGaussMeshImpl> PGaussMeshImpl;
+ //---------------------------------------------------------------
+ //! Specialize TGaussPtsIDMapper to provide VTK mapping for MED TIMESTAMP mesh
struct TGaussPtsIDFilter: virtual TIDMapperFilter,
virtual TGaussPtsIDMapper
{
PGaussPtsIDMapper myGaussPtsIDMapper;
+ //! Reimplement the TGaussPtsIDMapper::GetObjID
virtual
TGaussPointID
GetObjID(vtkIdType theID) const;
+ //! Reimplement the TGaussPtsIDMapper::GetParent
virtual
TNamedIDMapper*
GetParent();
vtkIdType
GetElemObjID(vtkIdType theID) const;
+ //! Reimplement the TIDMapper::GetVTKOutput
virtual
TVTKOutput*
GetVTKOutput();
//---------------------------------------------------------------
typedef std::map<EGeometry,TMeshValue> TGeom2Value;
+ //! Specialize TValForTime to provide VTK mapping for the entity
struct TValForTimeImpl: virtual TValForTime
{
- PGaussPtsIDFilter myGaussPtsIDFilter;
- PIDMapperFilter myIDMapperFilter;
- TGeom2Value myGeom2Value;
- vtkIdType myNbGauss;
+ PGaussPtsIDFilter myGaussPtsIDFilter; //!< Keep VTK representation for mesh and data on Gauss Points
+ PIDMapperFilter myIDMapperFilter; //!< Keep VTK representation for ordinary mesh and data
+ TGeom2Value myGeom2Value; //!< Keep value that is assigned to the mesh
+ vtkIdType myNbGauss; //!< Keep number of Gauss Points
TValForTimeImpl();
+ //! Get mesh data for defined geometrical type (constant version)
const TMeshValue&
GetMeshValue(EGeometry theGeom) const;
+ //! Get mesh data for defined geometrical type
TMeshValue&
GetMeshValue(EGeometry theGeom);
+ //! Get number of Gauss Points for defined geometrical type
virtual
int
GetNbGauss(EGeometry theGeom) const;
}
+//! This class perfroms mapping of intermediate data strucutres into corresponding VTK representation
+/*!
+ It implements VISU_Convertor public interface and declare new pure virtual functions
+ to fill its intermediate data structure from a MED source
+*/
class VISU_Convertor_impl: public VISU_Convertor
{
public:
virtual
~VISU_Convertor_impl();
+ //! Just to define default behaviour
virtual
VISU_Convertor*
Build()
return this;
}
+ //! Implemention of the VISU_Convertor::GetSize
virtual
float
GetSize();
+ //! Implemention of the VISU_Convertor::GetMeshOnEntity
virtual
VISU::PNamedIDMapper
GetMeshOnEntity(const std::string& theMeshName,
const VISU::TEntity& theEntity);
+ //! Implemention of the VISU_Convertor::GetMeshOnEntitySize
virtual
float
GetMeshOnEntitySize(const std::string& theMeshName,
const VISU::TEntity& theEntity);
+ //! Implemention of the VISU_Convertor::GetFamilyOnEntity
virtual
VISU::PIDMapper
GetFamilyOnEntity(const std::string& theMeshName,
const VISU::TEntity& theEntity,
const std::string& theFamilyName);
+ //! Implemention of the VISU_Convertor::GetFamilyOnEntitySize
virtual
float
GetFamilyOnEntitySize(const std::string& theMeshName,
const VISU::TEntity& theEntity,
const std::string& theFamilyName);
+ //! Implemention of the VISU_Convertor::GetMeshOnGroup
virtual
VISU::PIDMapper
GetMeshOnGroup(const std::string& theMeshName,
const std::string& theGroupName);
+ //! Implemention of the VISU_Convertor::GetMeshOnGroupSize
virtual
float
GetMeshOnGroupSize(const std::string& theMeshName,
const std::string& theGroupName);
+ //! Implemention of the VISU_Convertor::GetTimeStampOnMesh
virtual
VISU::PIDMapper
GetTimeStampOnMesh(const std::string& theMeshName,
const std::string& theFieldName,
int theStampsNum);
+ //! Implemention of the VISU_Convertor::GetTimeStampSize
virtual
float
GetTimeStampSize(const std::string& theMeshName,
const std::string& theFieldName,
int theStampsNum);
+ //! Implemention of the VISU_Convertor::GetTimeStampOnGaussPts
virtual
VISU::PGaussPtsIDMapper
GetTimeStampOnGaussPts(const std::string& theMeshName,
const std::string& theFieldName,
int theStampsNum);
+ //! Implemention of the VISU_Convertor::GetFieldOnMeshSize
virtual
float
GetFieldOnMeshSize(const std::string& theMeshName,
const VISU::TEntity& theEntity,
const std::string& theFieldName);
+ //! Implemention of the VISU_Convertor::GetField
virtual
const VISU::PField
GetField(const std::string& theMeshName,
VISU::TEntity theEntity,
const std::string& theFieldName);
+ //! Implemention of the VISU_Convertor::GetTimeStamp
virtual
const VISU::PValForTime
GetTimeStamp(const std::string& theMeshName,
int theStampsNum);
protected:
+ //! An utility method to find TMesh by its name
VISU::PMeshImpl
FindMesh(const std::string& theMeshName);
+ //! An utility method to find TMeshOnEntity by name of its parent mesh and entity
typedef boost::tuple<VISU::PMeshImpl,VISU::PMeshOnEntityImpl> TFindMeshOnEntity;
TFindMeshOnEntity
FindMeshOnEntity(const std::string& theMeshName,
const VISU::TEntity& theEntity);
+ //! An utility method to find TFamily by name of its parent mesh, corresponding entity and its name
typedef boost::tuple<VISU::PMeshImpl,VISU::PMeshOnEntityImpl,VISU::PFamilyImpl> TFindFamilyOnEntity;
TFindFamilyOnEntity
FindFamilyOnEntity(const std::string& theMeshName,
const VISU::TEntity& theEntity,
const std::string& theFamilyName);
+ //! An utility method to find Group by name of its parent mesh and its name
typedef boost::tuple<VISU::PMeshImpl,VISU::PGroupImpl> TFindMeshOnGroup;
TFindMeshOnGroup
FindMeshOnGroup(const std::string& theMeshName,
const std::string& theGroupName);
+ //! An utility method to find TField by name of its parent mesh, corresponding entity and its name
typedef boost::tuple<VISU::PMeshImpl,
VISU::PMeshOnEntityImpl,
VISU::PMeshOnEntityImpl,
const VISU::TEntity& theEntity,
const std::string& theFieldName);
+ //! An utility method to find TTimeStamp by name of its parent mesh, corresponding entity, field name and its number
typedef boost::tuple<VISU::PMeshImpl,
VISU::PMeshOnEntityImpl,
VISU::PMeshOnEntityImpl,
int theStampsNum);
protected:
+ //! To fill intermeiate representation of TMeshOnEntity from a MED source
virtual
int
LoadMeshOnEntity(VISU::PMeshImpl theMesh,
VISU::PMeshOnEntityImpl theMeshOnEntity) = 0;
+ //! To fill intermeiate representation of TFamily from a MED source
virtual
int
LoadFamilyOnEntity(VISU::PMeshImpl theMesh,
VISU::PMeshOnEntityImpl theMeshOnEntity,
VISU::PFamilyImpl theFamily) = 0;
+ //! To fill intermeiate representation of TGroup from a MED source
virtual
int
LoadMeshOnGroup(VISU::PMeshImpl theMesh,
const VISU::TFamilySet& theFamilySet) = 0;
+ //! To fill intermeiate representation of TValForTime for ordinary mesh from a MED source
virtual
int
LoadValForTimeOnMesh(VISU::PMeshImpl theMesh,
VISU::PFieldImpl theField,
VISU::PValForTimeImpl theValForTime) = 0;
+ //! To fill intermeiate representation of TValForTime for mesh on Gauss Points from a MED source
virtual
int
LoadValForTimeOnGaussPts(VISU::PMeshImpl theMesh,