/////////////////////////////////////////////////////////////////////////////// // Copyright (C) 2002-2025, Open Design Alliance (the "Alliance"). // All rights reserved. // // This software and its documentation and related materials are owned by // the Alliance. The software may only be incorporated into application // programs owned by members of the Alliance, subject to a signed // Membership Agreement and Supplemental Software License Agreement with the // Alliance. The structure and organization of this software are the valuable // trade secrets of the Alliance and its suppliers. The software is also // protected by copyright law and international treaty provisions. Application // programs incorporating this software must include the following statement // with their copyright notices: // // This application incorporates Open Design Alliance software pursuant to a license // agreement with Open Design Alliance. // Open Design Alliance Copyright (C) 2002-2025 by Open Design Alliance. // All rights reserved. // // By use of this software, its documentation or related materials, you // acknowledge and accept the above terms. /////////////////////////////////////////////////////////////////////////////// #ifndef _ODTV_IMPORT_H_INCLUDED_ #define _ODTV_IMPORT_H_INCLUDED_ #include "Tv.h" #include "TvVisualizeFiler.h" enum class BackgroundType { kGradient = 0, kColor = 1, kEnviroment = 2 }; /** \details This class is an interface for LowMemoryImportAbort. */ class ODTV_EXPORT OdTvLowMemoryImportAbort { public: /** \details Checks whether the low memory import should be aborted. \returns true if and only if low memory import should be aborted. */ virtual bool abortImport() const = 0; }; /** \details This class implements the base ODA Visualize SDK import parameters. \sa */ class ODTV_EXPORT OdTvBaseImportParams { public: /** \details Creates a new set of import parameters with default values. */ OdTvBaseImportParams(); /** \details Destroys the set of import parameters. */ virtual ~OdTvBaseImportParams() {} /** \details Sets a new full path to the imported file. \param filePath [in] A new file path represented with an OdString object. */ void setFilePath(const OdString& filePath); /** \details Retrieves the current full path to the imported file. \returns An OdString object that contains the file path for import. */ OdString getFilePath() const; /** \details Sets a new data stream buffer for the import operation. \param pBuffer [in] A pointer to an OdStreamBuf object that represents a new data stream buffer. */ void setStreamBuffer(OdStreamBuf* pBuffer); /** \details Retrieves the current data stream buffer that is used for import operations. \returns A smart pointer to an OdStreamBuf object that is used for import operations. */ OdStreamBufPtr getStreamBuffer() const; /** \details Sets a new object for storing profiling information during import operations. \param pProfilingInfo [in] A pointer to an object that stores profiling information. */ void setProfiling(OdTvFilerTimeProfiling* pProfilingInfo); /** \details Retrieves the current object for storing profiling information during import operations. \returns A raw pointer to the object that stores the profiling information. */ OdTvFilerTimeProfiling* getProfiling() const; /** \details Sets a host app progress meter to be used for directing information about the import process to the host application. \param pProgressMeter [in] A pointer to an OdTvHostAppProgressMeter object. \remarks Currently supported only for low memory import from .dwg. */ void setProgressMeter(OdTvHostAppProgressMeter* pProgressMeter); /** \details Retrieves the host app progress meter. \returns A raw pointer to the host app progress meter if it was set, or NULL otherwise. */ OdTvHostAppProgressMeter* getProgressMeter() const; /** \details Specifies whether to create a CDA (Common Data Access) tree during the import process. \param bNeed [in] A Boolean flag that is true for creating a CDA tree. */ void setNeedCDATree(bool bNeed); /** \details Retrieves the flag that indicates whether to create a CDA tree during the import process. \returns true if the CDA tree should be created during the import process, or false otherwise. */ bool getNeedCDATree() const; /** \details Specifies whether to store native properties to CDA (Common Data Access) nodes during the import process. \param bSet [in] A boolean flag that is true for storing properties in CDA nodes. */ void setNeedCollectPropertiesInCDA(bool bSet); /** \details Retrieves the flag that indicates whether to store native properties in CDA nodes during the import process. \returns true if storing native properties in CDA nodes during the import process. */ bool getNeedCollectPropertiesInCDA() const; /** \details Specifies an instance of the class. \param pAbort [in] A raw pointer to the object. */ void setLowMemoryImportAbort( OdTvLowMemoryImportAbort* pAbort); /** \details Retrieves the instance of OdTvLowMemoryImportAbort. \returns Pointer to the OdTvLowMemoryImportAbort instance that is used for the termination of low memory import. */ OdTvLowMemoryImportAbort* getLowMemoryImportAbort() const; /** \details Sets a specified default units type (used when the file does not have its own units). \param units [in] A units type. */ void setDefaultUnits(OdTv::Units units); /** \details Retrieves the default units type (used when the file does not have its own units). \returns Value from the OdTv::Units enumeration that represents default units to set when a file does not have its own units. */ OdTv::Units getDefaultUnits() const; //DOM-IGNORE-BEGIN protected: // common properties OdString m_strFilePath; // File path for import. OdStreamBuf* m_pStreamBuf; // Stream buffer for import. Implemented only for PRC. OdTvFilerTimeProfiling* m_pProfilingInfo; // Profiling information. If NULL, time profiling is switched off. OdTvHostAppProgressMeter* m_pProgressMeter; // Progress meter from application. bool m_bNeedCDATree; // Indicates whether the CDA tree is created (if supported) during import. bool m_bNeedCollectPropertiesInCDA; // Indicates whether properties are stored in CDA nodes (if supported) during import. OdTvLowMemoryImportAbort* m_pLowMemoryImportAbort; OdTv::Units m_defaultUnits; //DOM-IGNORE-END }; /** \details This class implements the base ODA Visualize SDK append parameters. */ class ODTV_EXPORT OdTvBaseAppendParams { public: /** \details Creates a new set of append parameters with default values. */ OdTvBaseAppendParams(); /** \details Destroys the set of append parameters. */ virtual ~OdTvBaseAppendParams() {} /** \details Sets a new transformation . \param matrix [in] A new transformation to be set. */ void setTransform(const OdTvMatrix& matrix); /** \details Retrieves the current transformation . \returns The current transformation object. */ OdTvMatrix getTransform() const; //DOM-IGNORE-BEGIN protected: // common properties OdTvMatrix m_transform; // Transform //DOM-IGNORE-END }; /** \details This class implements the base ODA Visualize SDK import parameters for custom file types (non-ODA databases): .rcs, .stl, .obj, etc. */ class ODTV_EXPORT OdTvCustomBaseImportParams : public OdTvBaseImportParams { public: /** \details Creates a new set of import parameters with default values. */ OdTvCustomBaseImportParams(); /** \details Destroys the set of import parameters. */ virtual ~OdTvCustomBaseImportParams() {} /** \details Sets a new value of the default color. \param defcolor [in] A new default color value. */ void setDefaultColor(ODCOLORREF defcolor); /** \details Retrieves the current default color value. \returns The current value of the default color. */ ODCOLORREF getDefaultColor() const; //DOM-IGNORE-BEGIN protected: ODCOLORREF m_defaultColor; // Default entity color. //DOM-IGNORE-END }; /** \details This class implements the ODA Visualize SDK parameters for importing from an .rcs file. \sa */ class ODTV_EXPORT OdTvRcsImportParams : public OdTvCustomBaseImportParams { public: /** \details Creates a new instance of .rcs import parameters. */ OdTvRcsImportParams() : OdTvCustomBaseImportParams() , m_iPointSize(1) , m_bImportAsRcsPointCloud(true) , m_bUseSpatialTreeForSelection(false){}; /** \details Destroys the instance of .rcs import parameters. */ virtual ~OdTvRcsImportParams() {} /** \details Sets a new value of the point size. \param pointSize [in] A new flag value to be set. */ void setPointSize(OdUInt8 pointSize); /** \details Retrieves the current value of the point size. \returns The current point size value. */ OdUInt8 getPointSize() const; /** \details Sets a new value of the "import as RCS point cloud" flag. \param bSet [in] A new flag value to be set. */ void setImportAsRcsPointCloud(bool bSet); /** \details Retrieves the current value of the "import as RCS point cloud" flag. \returns The current "import as RCS point cloud" flag value. */ bool getImportAsRcsPointCloud() const; /** \details Specifies whether to use a spatial tree for selection. \param bUseSpatialTreeForSelection [in] A flag that determines whether to use a spatial tree for selection. */ void setUseSpatialTreeForSelection(bool bUseSpatialTreeForSelection); /** \details Checks whether to use spatial tree for selection. \returns A flag that indicates whether to use a spatial tree for selection. */ bool getUseSpatialTreeForSelection() const; //DOM-IGNORE-BEGIN private: OdUInt8 m_iPointSize; bool m_bImportAsRcsPointCloud; bool m_bUseSpatialTreeForSelection; //DOM-IGNORE-END }; /** \details This class implements the ODA Visualize SDK parameters for appending contents of .rcs files. */ class ODTV_EXPORT OdTvRcsAppendParams : public OdTvRcsImportParams, public OdTvBaseAppendParams { public: /** \details Creates a new instance of parameters for appending .rcs files. */ OdTvRcsAppendParams() : OdTvRcsImportParams() {}; /** \details Destroys the instance of parameters for appending .rcs files. */ virtual ~OdTvRcsAppendParams() {} }; /** \details This class implements the ODA Visualize SDK parameters for importing from an .pts and .xyz files. \sa */ class ODTV_EXPORT OdTvPointCloudImportParams : public OdTvRcsImportParams { public: /** \details Contains declarations for the color range that can be used in point cloud files. */ using ColorRange = OdPointCloudDataSource::ColorRange; /** \details Creates a new instance of .rcs import parameters. */ OdTvPointCloudImportParams() : OdTvRcsImportParams() , m_separator(OD_T(" ")), m_intensityIndex(OdUInt32(-1)), m_skipLines(0), m_colorRange(OdPointCloudDataSource::kColorRange255) { setImportAsRcsPointCloud(false); m_defaultUnits = OdTv::kMeters; } /** \details Destroys the instance of .rcs import parameters. */ virtual ~OdTvPointCloudImportParams() {} /** \details Sets a separator string value. \param separator [in] A new separator string. */ void setSeparator(const OdString& separator); /** \details Retrieves the current value of the separator. \returns The current separator string value. */ const OdString& getSeparator() const; /** \details Sets column indexes of XYZ coordinates. \param x [in] X coordinate index. \param y [in] Y coordinate index. \param z [in] Z coordinate index. */ void setXYZIndexes(unsigned x, unsigned y, unsigned z); /** \details Retrieves the XYZ column indexes. \returns The array of indexes. */ const OdUInt32Array& getXYZIndexes() const; /** \details Sets column indexes of RGB. \param r [in] Red column index. \param g [in] Green column index. \param b [in] Blue column index. */ void setRGBIndexes(unsigned r, unsigned g, unsigned b); /** \details Retrieves the RGB column indexes. \returns The array of indexes. */ const OdUInt32Array& getRGBIndexes() const; /** \details Sets intensity column index. \param intensityIndex [in] Intensity column index. */ void setIntensityIndex(OdUInt32 intensityIndex); /** \details Retrieves the intensity column index. \returns The index as an OdUInt32 value. */ OdUInt32 getIntensityIndex() const; /** \details Sets a count of lines that should be skipped. \param lines [in] A count of line for skipping. \remarks Lines are skipped from the start of the file. Skipping lines can be useful if the file has some text in the beginning which is not a part of point cloud data. */ void setSkipLinesCount(OdUInt32 lines); /** \details Retrieves the count of lines that should be skipped. \returns The count of lines that should be skipped. Lines are skipped from the start of the file. Skipping lines can be useful if the file has some text in the beginning which is not a part of point cloud data. */ OdUInt32 getSkipLinesCount() const; /** \details Sets a color value range. \param colorRange [in] A color value range. \remarks Valid color value ranges: [0;1], [0;255], [0;62580]. */ void setColorRange(ColorRange colorRange); /** \details Retrieves a color value range. \returns A color value range. */ ColorRange getColorRange() const; //DOM-IGNORE-BEGIN private: OdString m_separator; OdUInt32Array m_xyzIndexes; OdUInt32Array m_rgbIndexes; OdUInt32 m_intensityIndex; OdUInt32 m_skipLines; ColorRange m_colorRange; //DOM-IGNORE-END }; /** \details This class implements the ODA Visualize SDK parameters for appending contents of .pts and .xyz files. */ class ODTV_EXPORT OdTvPointCloudAppendParams : public OdTvPointCloudImportParams, public OdTvBaseAppendParams { public: /** \details Creates a new instance of parameters for appending .pts and .xyz files. */ OdTvPointCloudAppendParams() : OdTvPointCloudImportParams() {}; /** \details Destroys the instance of parameters for appending .pts and .xyz files. */ virtual ~OdTvPointCloudAppendParams() {} }; /** \details This class implements the ODA Visualize SDK parameters for importing from an .stl file. \sa */ class ODTV_EXPORT OdTvStlImportParams : public OdTvCustomBaseImportParams { /** \details The .stl import flags. */ enum ParamFlags { /* Fix normals during the import operation.*/ kFixNormals = 1, /* Unify duplicate vertices during the import operation. */ kUnifyDuplicatedVertices = 2, /* Calculate normals at vertices during the import operation. */ kCalcNormalsAtVertices = 4 }; public: /** \details Creates a new set of import parameters with default values. */ OdTvStlImportParams(); /** \details Destroys the set of import parameters. */ virtual ~OdTvStlImportParams() {} /** \details Sets a new value of the "fix normals" flag. \param bFix [in] A new flag value. */ void setFixNormals(bool bFix); /** \details Retrieves the current value of the "fix normals" flag. \returns The "fix normals" flag value. */ bool getFixNormals() const; /** \details Sets a new value of the "unify duplicate vertices" flag. \param bUnify [in] A new flag value. */ void setUnifyDuplicatedVertices(bool bUnify); /** \details Retrieves the current value of the "unify duplicate vertices" flag. \returns The "unify duplicate vertices" flag. */ bool getUnifyDuplicatedVertices() const; /** \details Sets a new value of the "calculate normals at vertices" flag. \param bCalc [in] A new flag value. */ void setCalcNormalsAtVertices(bool bCalc); /** \details Retrieves the current value of the "calculate normals at vertices" flag. \returns The "calculate normals at vertices" flag. */ bool getCalcNormalsAtVertices() const; //DOM-IGNORE-BEGIN protected: OdUInt8 m_flags; //DOM-IGNORE-END }; class ODTV_EXPORT OdTvGltfImportParams : public OdTvCustomBaseImportParams { /** \details The .gltf import flags. */ public: /** \details Creates a new set of import parameters with default values. */ OdTvGltfImportParams(); /** \details Destroys the set of import parameters. */ virtual ~OdTvGltfImportParams() {} }; /** \details This class implements the ODA Visualize SDK parameters for appending contents of .stl files. */ class ODTV_EXPORT OdTvStlAppendParams : public OdTvStlImportParams, public OdTvBaseAppendParams { public: /** \details Creates a new set of parameters with default values for appending .stl files. */ OdTvStlAppendParams() : OdTvStlImportParams() {}; /** \details Destroys the set of parameters for appending .stl files. */ virtual ~OdTvStlAppendParams() {} }; /** \details This class implements the ODA Visualize SDK parameters for appending contents of .gltf files. */ class ODTV_EXPORT OdTvGltfAppendParams : public OdTvGltfImportParams, public OdTvBaseAppendParams { public: /** \details Creates a new set of parameters with default values for appending .stl files. */ OdTvGltfAppendParams() : OdTvGltfImportParams() {}; /** \details Destroys the set of parameters for appending .stl files. */ virtual ~OdTvGltfAppendParams() {} }; /** \details This class implements the ODA Visualize SDK parameters for importing .obj files. \sa */ class ODTV_EXPORT OdTvObjImportParams : public OdTvCustomBaseImportParams { //DOM-IGNORE-BEGIN bool m_bBrepFlipUVCoordinates; bool m_bCalculateNormals; bool m_bImportBrepAsBrep; //DOM-IGNORE-END public: /** \details Creates a new set of .obj file import parameters with default values. */ OdTvObjImportParams(); /** \details Destroys the set of .obj file import parameters. */ virtual ~OdTvObjImportParams() {} /** \details Retrieves the current value of the "B-Rep flip UV coordinates" flag. \returns The current flag value. */ bool getBrepFlipUVCoordinates() const; /** \details Sets a new value of the "B-Rep flip UV coordinates" flag. \param bBrepFlipUVCoordinates [in] A new flag value. */ void setBrepFlipUVCoordinates(bool bBrepFlipUVCoordinates); /** \details Retrieves the current value of the "import B-Rep as B-Rep" flag. \returns The current flag value. */ bool getImportBrepAsBrep() const; /** \details Sets a new value of the "import B-Rep as B-Rep" flag. \param bImportBrepAsBrep [in] A new flag value. */ void setImportBrepAsBrep(bool bImportBrepAsBrep); /** \details Retrieves the current value of the "normals calculation" flag. \returns The current flag value. */ bool getCalculateNormals() const; /** \details Sets a new value of the "normals calculation" flag. \param bCalculateNormals [in] A new flag value. */ void setCalculateNormals(bool bCalculateNormals); }; /** \details This class implements the ODA Visualize SDK parameters for appending .obj file content. */ class ODTV_EXPORT OdTvObjAppendParams : public OdTvObjImportParams, public OdTvBaseAppendParams { public: /** \details Creates a new set of parameters with default values for appending .obj files. */ OdTvObjAppendParams() : OdTvObjImportParams() {}; /** \details Destroys the set of parameters for appending .obj files. */ virtual ~OdTvObjAppendParams() {} }; /** \details This class implements the ODA Visualize SDK parameters for importing .dwg files. \sa */ class ODTV_EXPORT OdTvDwgImportParams : public OdTvBaseImportParams { /** \details Specific options for the importing from a .dwg drawing. */ enum ParamFlags { /* Gives the names of the Visualize SDK entities according to file object names (for example, AcDbCircle, etc). */ kObjectNaming = 1 << 0, /* Stores source objects in the user data of the objects. */ kStoreSource = 1 << 1, /* Cleans empty objects. */ kClearEmptyObjects = 1 << 2, /* Enables (or disables) multithreading mode. */ kMultithreading = 1 << 3, /* Uses facet tessellation. */ kUseAdvancedTess = 1 << 4, /* Open source .dwg file in partial mode. */ kPartialSourceOpen = 1 << 5, /* Import B-Rep as OdTvBrepData. */ kImportBrepAsBrep = 1 << 6, /* Converted indexed colors to RGB during import. */ kConvertIndexedToRGB = 1 << 7, /* Disable font substitution for missing fonts. */ kDisableFontSubstitution = 1 << 8, /* Import objects on frozen layer. */ kImportFrozenLayers = 1 << 9, /* Ignore edge's visibilities. */ kIgnoreEdgesVisibilities = 1 << 10, /* Import Db points */ kImportDBPoints = 1 << 11, /* Use custom deviation for curves*/ kUseCustomDeviationForCurves = 1 << 12, /* Enables text adjustment aligment for DXF*/ kDxfTextAdjustAlignment = 1 << 13, /* Ignore paper background*/ kIgnorePaperBackground = 1 << 14, /* Ignore paper printable area*/ kIgnorePaperPrintableArea = 1 << 15, /* Need to override DbPoints PDMODE*/ kNeedOverrideDbPointsMode = 1 << 16, /* Need to override DbPoints PDSIZE*/ kNeedOverrideDbPointsSize = 1 << 17, /* Need import block attribute definition*/ kNeedImportBlockAttributeDefinition = 1 << 18 }; public: /** \details Creates a new set of .dwg import parameters with default values. */ OdTvDwgImportParams(); /** \details Destroys the set of .dwg import parameters. */ ~OdTvDwgImportParams() {} /** \details Sets a new value of the background color. \param background [in] A new background color. */ void setBackground(ODCOLORREF background); /** \details Retrieves the current value of the background color. \returns The current value of the background color. */ ODCOLORREF getBackground() const; /** \details Sets a new palette to be used during the import operation. \param pPalette [in] A pointer to the color array that represents the new palette. \remarks If the pPalette parameter is NULL, one of two default palettes is used depending on the background color value. */ void setPalette(const ODCOLORREF* pPalette); /** \details Retrieves the current palette to be used during the import operation. \returns A pointer to the color array that represents the current palette. \remarks If no palette is set (the method returns a NULL pointer), one of two default palettes is used depending on the background color value. */ const ODCOLORREF* getPalette() const; /** \details Sets a new device rectangle that is used during the import operation. \param rect [in] A new to be set. \remarks If all components of the specified rectangle are equal to zero, the rectangle is not associated with the Visualize device. */ void setDCRect(const OdTvDCRect& rect); /** \details Retrieves the current device rectangle that is used during the import operation. \returns The current device rectangle object. \remarks If all components of the returned rectangle are equal to zero, the rectangle is not associated with the Visualize device. */ OdTvDCRect getDCRect() const; /** \details Sets a new value of the "object naming" flag. \param bSet [in] A new flag value. */ void setObjectNaming(bool bSet); /** \details Retrieves the current "object naming" flag value. \returns The current value of the object naming flag. */ bool getObjectNaming() const; /** \details Sets a new value of the "store source objects" flag. \param bSet [in] A new flag value. */ void setStoreSourceObjects(bool bSet); /** \details Retrieves the current value of the "store source objects" flag. \returns The current "store source objects" flag value. */ bool getStoreSourceObjects() const; /** \details Sets a new value of the flag that determines whether empty objects should be cleared. \param bSet [in] A new flag value. */ void setClearEmptyObjects(bool bSet); /** \details Retrieves the current value of the "clear empty objects" flag. \returns true if empty objects should be cleared during the import operation; otherwise the method returns false. */ bool getClearEmptyObjects() const; /** \details Sets a new callback function for filtering element selection. \param pCallback [in] A pointer to the . */ void setFeedbackForChooseCallback(OdTvFeedbackForChooseCallback pCallback); /** \details Retrieves the current callback function for element selection. \returns A pointer to the current . */ OdTvFeedbackForChooseCallback getFeedbackForChooseCallback() const; /** \details Sets a new value of the multithreading flag. \param bSet [in] A new value of the flag. */ void setMultithreading(bool bSet); /** \details Retrieves the current value of the multi-threading flag. \returns true if multi-thread mode is enabled; otherwise the method returns false. */ bool getMultithreading() const; /** \details Sets a new quantity of threads for multithreading mode. \param nThreads [in] A new quantity of threads. */ void setCountOfThreads(OdUInt16 nThreads); /** \details Retrieves the current quantity of threads for multi-thread mode. \returns The current number of threads that can be run at the same time in multi-thread mode. */ OdUInt16 getCountOfThreads() const; /** \details Sets a new value of the "advanced tessellation" flag. \param bSet [in] A new flag value. */ void setUseAdvancedTess(bool bSet); /** \details Retrieves the current value of the "advanced tessellation" flag. \returns true if advanced tessellation is used; otherwise the method returns false. */ bool getUseAdvancedTess() const; /** \details Sets a new value of the facet resolution. \param dFacetRes [in] A new facet resolution value. \remarks The facet resolution value varies from 0.01 to 10.0. */ void setFacetRes(double dFacetRes); /** \details Retrieves the current facet resolution value. \returns The current facet resolution value between 0.01 and 10.0. */ double getFacetRes() const; /** \details Specifies whether the source file should be open in partial mode. \param bPartial [in] A new flag value. */ void setOpenSourcePartial( bool bPartial ); /** \details Checks whether the source file open mode is partial. \returns true if current file open mode is partial, false otherwise. */ bool getOpenSourcePartial() const; /** \details Sets a new value of the "import B-Rep as B-Rep" flag. \param bImportBrepAsBrep [in] A new flag value. */ void setImportBrepAsBrep(bool bImportBrepAsBrep); /** \details Checks whether B-Rep objects from the source files should be imported as B-Rep objects. \returns true if and only if B-Rep should be imported as B-Rep. */ bool getImportBrepAsBrep() const; /** \details Specifies whether the indexed colors should be converted to RGB during the import. \param bNeedConvertIndexedtoRGB [in] A new value of kConvertIndexedToRGB flag. */ void setConvertIndexedToRGB(bool bNeedConvertIndexedtoRGB); /** \details Checks whether the indexed colors should be converted to RGB during import. \returns The value of the kConvertIndexedToRGB flag. */ bool getConvertIndexedToRGB() const; /** \details Specifies whether the missing fonts should not be substituted. \param bSet [in] Flag that specifies whether to disable fonts substitution for missing fonts. */ void setDisableFontSubstitution( bool bSet ); /** \details Checks whether substitution is disabled for missing fonts. \returns true if and only if the missing fonts should not be substituted, false otherwise. */ bool getDisableFontSubstitution() const; /** \details Sets a new value of the flag that determines whether to import objects on frozen layers. \param bSet [in] A new flag value. */ void setImportFrozenLayers(bool bSet); /** \details Checks whether objects on frozen layers should be imported. \returns true if objects from frozen layers should be imported during the import operation; otherwise the method returns false. */ bool getImportFrozenLayers() const; /** \details Sets a new value of the flag that determines whether edge's visibilities should be ignored. \param bSet [in] A new flag value. */ void setIgnoreEdgesVisibilities(bool bSet); /** \details Retrieves the current value of the "ignore edge visibilities" flag. \returns true if edge colors should be ignored during the import operation; otherwise the method returns false. */ bool getIgnoreEdgesVisibilities() const; /** \details Sets a new value of the "import Db points" flag. \param bSet [in] A new flag value. */ void setImportDbPoints(bool bSet); /** \details Retrieves the current "import Db points" flag value. \returns The current value of the import Db points flag. */ bool getImportDbPoints() const; /** \details Sets a flag which indicates whether it is need to use custom deviation (non-view dependent) for curves and a new value of the custom deviation. This deviation is useful for hatches which borders are splines. \param bUseCustomDeviation [in] A new value for the flag \param dDeviation [in] A new custom deviation value (only if bUseCustomDeviation == true) \remarks The custom deviation value should be greater than 0.000001 */ void setUseCustomDeviationForCurves(bool bUseCustomDeviationForCurves, double dDeviation = 0.01); /** \details Retrieves the flag which indicates whether it is need to use custom deviation for curves. \returns Returns the flag which indicates whether it is need to use custom deviation */ bool getUseCustomDeviationForCurves() const; /** \details Retrieves the current custom deviation value for curves. \returns The current custom deviation (greater than 0.000001) */ double getCustomDeviationForCurves() const; /** \details Sets a new value of the "Dxf text adjust alignment" flag. \param bEnable [in] A new flag value. */ void setDxfTextAdjustAlignment( bool bEnable ); /** \details Retrieves the current "Dxf text adjust alignment" flag value. \returns The current value of the import Db points flag. */ bool getDxfTextAdjustAlignment() const; /** \details Sets a new value of the "Ignore paper bakground" flag. \param bEnable [in] A new flag value. */ void setIgnorePaperBackground(bool bEnable); /** \details Retrieves the current "Ignore paper bakground" flag value. \returns The current value of the ignore paper background flag. */ bool getIgnorePaperBackground() const; /** \details Sets a new value of the "Ignore paper printable area" flag. \param bEnable [in] A new flag value. */ void setIgnorePaperPrintableArea(bool bEnable); /** \details Retrieves the current "Ignore paper printable area" flag value. \returns The current value of the ignore paper printable area flag. */ bool getIgnorePaperPrintableArea() const; /** \details Specifies the custom font folder. \param folder [in] Custom font folder. \remarks If value is empty, input file folder will be used as custom font folder. */ void setCustomFontFolder( const OdString& folder ); /** \details Retrieves the custom font folder. \returns The custom font folder. */ const OdString& getCustomFontFolder() const; /** \details Sets a new callback function for file recover. \param pCallback [in] A pointer to the . */ void setRecoverFileCallback(OdTvRecoverFileCallback pCallback); /** \details Retrieves the current callback function for file recover. \returns A pointer to the current . */ OdTvRecoverFileCallback getRecoverFileCallback() const; /** \details Sets a new callback function for file recover audit info. \param pCallback [in] A pointer to the . */ void setRecoverFileAuditInfoCallback(OdTvRecoverFileAuditInfoCallback pCallback); /** \details Retrieves the current callback function for file recover audit info. \returns A pointer to the current . */ OdTvRecoverFileAuditInfoCallback getRecoverFileAuditInfoCallback() const; /** \details Enumerates pline simplification types. */ enum class PlineSimplification { /* Disables pline simplification*/ kDisabled = 0, /* Enabled pline simplification that will try to create single Visualize geometry primitive for each pline object.*/ kEnabled = 1, /* Enabled pline simplification. Depending on plinegen value, it will try to create single Visualize geometry primitive for each pline object (hasPlinegen() == true) or for each pline segment (hasPlinegen() == false)*/ kEnabledRespectPlinegen = 2 }; /** \details Specifies the pline simplification type. \param ps [in] Pline simplification type to be used. */ void setPlineSimplification( PlineSimplification ps ); /** \details Retrieves the pline simplification type. \returns Pline simplification type to be used. */ PlineSimplification getPlineSimplification() const; /** \details Specifies whether need to override DbPoints mode before file import. \param bSet [in] Flag that specifies whether need to override DbPoints mode before file import. */ void setNeedOverrideDbPointsMode(bool bSet); /** \details Checks whether need to override DbPoints mode before file import. \returns true if and only need to override DbPoints mode before file import, false otherwise. */ bool getNeedOverrideDbPointsMode() const; /** \details Specifies whether need to override DbPoints size before file import. \param bSet [in] Flag that specifies whether need to override DbPoints size before file import. */ void setNeedOverrideDbPointsSize(bool bSet); /** \details Checks whether need to override DbPoints size before file import. \returns true if and only need to override DbPoints size before file import, false otherwise. */ bool getNeedOverrideDbPointsSize() const; /** \details Specifies override of PDMODE. PDMODE specifies the display of Point entities during import. \param PDMODE [in] New PDMODE value. */ void setOverridePDMODE(OdInt16 PDMODE); /** \details Retrieves the overridden PDMODE. \returns Overridden PDMODE. */ OdInt16 getOverridePDMODE() const; /** \details Specifies override of PDSIZE. PDSIZE specifies the display size of point entities during import. \param dPDSIZE [in] New PDSIZE value. \remark 0 - Creates a point at 5 percent of the drawing area height, > 0 - Specifies an absolute size, < 0 - Specifies a percentage of the viewport size */ void setOverridePDSIZE(double dPDSIZE); /** \details Retrieves the overridden PDSIZE. \returns Overridden PDSIZE. */ double getOverridePDSIZE() const; /** \details Sets a new value of the "Need import block attribute definition" flag. \param bEnable [in] A new flag value. */ void setNeedImportBlockAttributeDefinition(bool bEnable); /** \details Retrieves the current "Need import block attribute definition" flag value. \returns The current value of the need import block attribute definition flag. */ bool getNeedImportBlockAttributeDefinition() const; //DOM-IGNORE-BEGIN protected: ODCOLORREF m_background; // Background color. Default: black. const ODCOLORREF* m_pPalette; // Palette to be used. If NULL, one of two default palettes is used depending on background color. OdTvDCRect m_importRect; // Output rectangle. Used for correct import of some specific objects (camera, OLE images, 3D solids). The normal way to set the output window size. OdUInt32 m_flags; // Different options. OdUInt16 m_nThreads; // Count of threads. double m_dFACETRES; // Facet res value (between from 0.01 to 10.0). OdTvFeedbackForChooseCallback m_pCallback; // Callback for choose. double m_dCustomDeviationForCurves; // Custom deviation OdString m_customFontFolder; OdTvRecoverFileCallback m_pRecoverFileCallback; // Callback for file recover. OdTvRecoverFileAuditInfoCallback m_pRecoverFileAuditInfoCallback; // Callback for file recover audit info. PlineSimplification m_plineSimplification; // Pline simplification type OdInt16 m_iOverridePDMODE; // Override PDMODE, which specifies the display of Point entities during import. double m_dOverridePDSIZE; // Override PDSIZE, which specifies the display size of point entities during import. //DOM-IGNORE-END }; /** \details This class stores and handles parameters for importing SW drawings (.slddrw), parts (.sldprt), or assembles (.sldasm) to Visualize SDK. */ class ODTV_EXPORT OdTvSwImportParams : public OdTvCustomBaseImportParams { /** \details Defines specific options for the SW import operation. */ enum ParamFlags { /** Gives the names for the Visualize SDK entities according to the file object names (for example, AcDbCircle, etc).*/ kObjectNaming = 1, /** Stores source objects in the user data section of objects.*/ kStoreSource = 2, /** Clears empty objects.*/ kClearEmptyObjects = 4, /** Rearranges objects.*/ kRearrangeObjects = 8, /** Imports B-Rep as objects.*/ kImportBrepAsBrep = 16 }; public: /** \details Creates a new set of SW import parameters with default values. */ OdTvSwImportParams(); /** \details Destroys the set of SW import parameters. */ ~OdTvSwImportParams() {} /** \details Sets a new device rectangle that is used during the import operation. \param rect [in] A new rectangle object to be set. \remarks If all components of the rectangle are equal to zero, the rectangle is not associated with the Visualize device. */ void setDCRect(const OdTvDCRect& rect); /** \details Retrieves the current device rectangle that is used during the import operation. \returns The current device rectangle object. \remarks If all components of the rectangle are equal to zero, the rectangle is not associated with the Visualize device. */ OdTvDCRect getDCRect() const; /** \details Sets a new value of the "import B-Rep as B-Rep" flag. \param bImportBrepAsBrep [in] A new flag value. */ void setImportBrepAsBrep(bool bImportBrepAsBrep); /** \details Checks whether the B-Rep objects are loaded as B-Rep objects. \returns true if and only if B-Reps are imported as B-Reps; otherwise, the method returns false. */ bool getImportBrepAsBrep() const; /** \details Sets a new value of the facet resolution for B-Reps. \param dFacetRes [in] A new facet resolution value. \remarks The facet resolution value varies from 0.01 to 10.0. */ void setBrepFacetRes(double dFacetRes); /** \details Retrieves the current facet resolution value for B-Reps. \returns The current facet resolution value between 0.01 and 10.0. */ double getBrepFacetRes() const; //DOM-IGNORE-BEGIN protected: OdTvDCRect m_importRect; // Output rectangle. Used for correct import of some specific objects (camera, OLE images). The normal way to set the output window size. double m_dFACETRES; // Facet res value (between from 0.01 to 10.0). OdUInt8 m_flags; // Different options. //DOM-IGNORE-END }; /** \details This class stores and handles the set of parameters for appending SW file content. */ class ODTV_EXPORT OdTvSwAppendParams : public OdTvSwImportParams, public OdTvBaseAppendParams { public: /** \details Creates a new set of parameters with default values for appending SW files. */ OdTvSwAppendParams() : OdTvSwImportParams() {}; /** \details Destroys the set of parameters for appending SW files. */ virtual ~OdTvSwAppendParams() {} }; /** \details This class implements the ODA Visualize SDK parameters for appending .dwg file content. */ class ODTV_EXPORT OdTvDwgAppendParams : public OdTvDwgImportParams, public OdTvBaseAppendParams { public: /** \details Creates a new set of parameters for appending .dwg file content. */ OdTvDwgAppendParams(); /** \details Destroys the set of parameters for appending .dwg files content. */ virtual ~OdTvDwgAppendParams() {} /** \details Sets a new value of the flag that determines whether to override device palette. \param bSet [in] A new flag value. */ void setOverrideDevicePalette(bool bSet); /** \details Checks whether to override the device palette. \returns true if the device palette should be overridden; otherwise the method returns false. */ bool getOverrideDevicePalette() const; /** \details Sets a new value of the flag that determines whether to use PDMODE from appended file. \param bSet [in] A new flag value. */ void setUseNewPDMODE(bool bSet); /** \details Checks whether to use PDMODE from appended file. \returns true if the PDMODE shuld be used from appended file; otherwise the method returns false. */ bool getUseNewPDMODE() const; private: bool m_bOverrideDevicePalette; // Flag, for override default palette with current bool m_bUseNewPDMODE; // Flag, for determine whether to override PD MODE }; /** \details This class implements the ODA Visualize SDK parameters for importing .dgn files. */ class ODTV_EXPORT OdTvDgnImportParams : public OdTvBaseImportParams { /** \details Specific options of the .dgn import operation. */ enum ParamFlags { /* Gives the names for the Visualize SDK entities according to the file object names (for example, AcDbCircle, etc). */ kObjectNaming = 1, /* Stores source objects in the user data of the objects. */ kStoreSource = 2, /* Cleans empty objects. */ kClearEmptyObjects = 4, /* Use isolines for 3D objects. */ kUseIsolinesFor3DObjects = 8, /* Present Cell Headers */ kPresentCellHeaders = 16 }; public: /** \details Creates a new set of import parameters with default values. */ OdTvDgnImportParams(); /** \details Destroys the set of import parameters. */ ~OdTvDgnImportParams() {} /** \details Sets a new device rectangle that is used during the import operation. \param rect [in] A new rectangle object to be set. \remarks If all components of the rectangle are equal to zero, the rectangle is not associated with the Visualize device. */ void setDCRect(const OdTvDCRect& rect); /** \details Retrieves the current device rectangle that is used during the import operation. \returns The current device rectangle object. \remarks If all components of the rectangle are equal to zero, the rectangle is not associated with the Visualize device. */ OdTvDCRect getDCRect() const; /** \details Sets a new value of the "object naming" flag. \param bSet [in] A new flag value. */ void setObjectNaming(bool bSet); /** \details Retrieves the current "object naming" flag value. \returns The current value of the "object naming" flag. */ bool getObjectNaming() const; /** \details Sets a new value of the "store source objects" flag. \param bSet [in] A new flag value. */ void setStoreSourceObjects(bool bSet); /** \details Retrieves the current value of the "store source objects" flag. \returns The current "store source objects" flag value. */ bool getStoreSourceObjects() const; /** \details Sets a new callback function for filtering element selection. \param pCallback [in] A pointer to the . */ void setFeedbackForChooseCallback(OdTvFeedbackForChooseCallback pCallback); /** \details Retrieves the current callback function for element selection. \returns A pointer to the current . */ OdTvFeedbackForChooseCallback getFeedbackForChooseCallback() const; /** \details Sets a new value of the flag that determines whether empty objects should be cleared. \param bSet [in] A new flag value. */ void setClearEmptyObjects(bool bSet); /** \details Retrieves the current value of the "clear empty objects" flag. \returns true if empty objects should be cleared during the import operation; otherwise the method returns false. */ bool getClearEmptyObjects() const; /** \details Sets a new value of the flag that determines whether to use isolines for 3D objects. \param bSet [in] A new flag value. */ void setUseIsolinesFor3DObjects(bool bSet); /** \details Retrieves the current value of the "use isolines for 3D objects" flag. \returns true if isolines are used for 3D objects during the import operation; otherwise the method returns false. */ bool getUseIsolinesFor3DObjects() const; /** \details Sets a new value of the flag that determines whether cell headers should be presented as parent entity for its content or not. \param bSet [in] A new flag value. */ void setPresentCellHeaders( bool bSet ); /** \details Retrieves the current value of the "present cell headers" flag. \returns true if cell headers should be presented as parent entity for its content during the import operation; otherwise the method returns false. */ bool getPresentCellHeaders() const; //DOM-IGNORE-BEGIN protected: OdTvDCRect m_importRect; // Output rectangle. Used for correct import of some specific objects. The normal way to set the output window size. OdUInt8 m_flags; // Different options. OdTvFeedbackForChooseCallback m_pCallback; // Callback for choose. //DOM-IGNORE-END }; /** \details This class implements the ODA Visualize SDK parameters for appending .dgn file content. */ class ODTV_EXPORT OdTvDgnAppendParams : public OdTvDgnImportParams, public OdTvBaseAppendParams { public: /** \details Creates a new set of parameters for appending .dgn file content. */ OdTvDgnAppendParams() : OdTvDgnImportParams() {}; /** \details Destroys the set of parameters for appending .dgn file content. */ virtual ~OdTvDgnAppendParams() {} }; /** \details This class implements the ODA Visualize SDK parameters for importing .prc files. \sa */ class ODTV_EXPORT OdTvPrcImportParams : public OdTvBaseImportParams { /** \details Specific options for the .prc import operation. */ enum ParamFlags { /* Gives the names for the Visualize SDK entities according to the file object names (for example, AcDbCircle, etc). */ kObjectNaming = 1, /* Stores source objects in the user data of the objects. */ kStoreSource = 2, /* Cleans empty objects. */ kClearEmptyObjects = 4, /* Rearranges objects. */ kRearrangeObjects = 8, /* Import B-Rep as OdTvBrepData. */ kImportBrepAsBrep = 16, /* Import lights from U3D. */ kImportLightsFromU3D = 32, /* Import animation from U3D. */ kImportMotionFromU3D = 64, /* Import with hierarchy. */ kImportWithHierarchy = 128, /* Import Prc params to UserData. */ kImportPrcParams = 256, }; public: /** \details Creates a new set of .prc import parameters with default values. */ OdTvPrcImportParams(); /** \details Destroys the set of .prc import parameters. */ ~OdTvPrcImportParams() {} /** \details Sets a new palette to be used during the import operation. \param pPalette [in] A new palette to be set represented with a pointer to an array of colors. \remarks If the pPalette parameter is NULL, one of two default palettes is used depending on the background color value. */ void setPalette(const ODCOLORREF* pPalette); /** \details Retrieves the current palette to be used during the import operation. \returns A pointer to an array of colors that represents the palette. \remarks If the returned pointer is NULL, one of two default palettes is used depending on the background color value. */ const ODCOLORREF* getPalette() const; /** \details Sets a new device rectangle that is used during the import operation. \param rect [in] A new rectangle object to be set. \remarks If all components of the rectangle are equal to zero, the rectangle is not associated with the Visualize device. */ void setDCRect(const OdTvDCRect& rect); /** \details Retrieves the current device rectangle that is used during the import operation. \returns The current device rectangle object. \remarks If all components of the rectangle are equal to zero, the rectangle is not associated with the Visualize device. */ OdTvDCRect getDCRect() const; /** \details Sets a new value of the "object naming" flag. \param bSet [in] A new flag value. */ void setObjectNaming(bool bSet); /** \details Retrieves the current "object naming" flag value. \returns The current value of the "object naming" flag. */ bool getObjectNaming() const; /** \details Sets a new value of the "store source objects" flag. \param bSet [in] A new flag value. */ void setStoreSourceObjects(bool bSet); /** \details Retrieves the current value of the "store source objects" flag. \returns The current "store source objects" flag value. */ bool getStoreSourceObjects() const; /** \details Sets a new value of the flag that determines whether empty objects should be cleared. \param bSet [in] A new flag value. */ void setClearEmptyObjects(bool bSet); /** \details Retrieves the current value of the "clear empty objects" flag. \returns true if empty objects should be cleared during the import operation; otherwise the method returns false. */ bool getClearEmptyObjects() const; /** \details Sets a new value of the "rearrange objects" flag. \param bSet [in] A new flag value. */ void setRearrangeObjects(bool bSet); /** \details Retrieves the current value of the "rearrange objects" flag. \returns true if the objects should be rearranged during the import operation; otherwise the method returns false. */ bool getRearrangeObjects() const; /** \details Sets a new value of the "import B-Rep as B-Rep" flag. \param bImportBrepAsBrep [in] A new flag value. */ void setImportBrepAsBrep(bool bImportBrepAsBrep); /** \details Checks whether B-Rep objects from the source files should be imported as B-Rep objects. \returns true if and only if B-Reps should be imported as B-Reps. */ bool getImportBrepAsBrep() const; /** \details Sets a new value of the "import Lights objects from U3D" flag. \param bImportLightsFromU3D [in] A new flag value. */ void setImportLightsFromU3D(bool bImportLightsFromU3D); /** \details Checks whether U3D Lights objects from the source files should be imported. \returns true if and only if U3D Lights objects should be imported. */ bool getImportLightsFromU3D() const; /** \details Sets a new value of the "import Animation from U3D" flag. \param bImportMotionFromU3D [in] A new flag value. */ void setImportMotionFromU3D(bool bImportMotionFromU3D); /** \details Checks whether U3D Animation from the source files should be imported. \returns true if and only if U3D Animation should be imported. */ bool getImportMotionFromU3D() const; /** \details Sets a new value of the facet resolution for B-Reps. \param dFacetRes [in] A new facet resolution value. \remarks The facet resolution value varies from 0.01 to 10.0. */ void setBrepFacetRes(double dFacetRes); /** \details Retrieves the current facet resolution value for B-Reps. \returns The current facet resolution value between 0.01 and 10.0. */ double getBrepFacetRes() const; /** \details Sets a new value of the "Import with hierarchy" flag. \param bImportWithHierarchy [in] A new flag value. */ void setImportWithHierarchy(bool bImportWithHierarchy); /** \details Checks whether prc hierarchy should be imported. \returns true if and only if prc hierarchy should be imported. */ bool getImportWithHierarchy() const; /** \details Sets a new value of the "import PRC params to UserData" flag. \param bImportPrcParams [in] A new flag value. */ void setImportPrcParams(bool bImportPrcParams); /** \details Checks whether PRC params from the source files should be imported to UserData. \returns true if and only if PRC params should be imported to UserData. */ bool getImportPrcParams() const; /** \details Sets a new callback function for filtering element selection. \param pCallback [in] A pointer to the . */ void setFeedbackForChooseCallback(OdTvFeedbackForChooseCallback pCallback); /** \details Retrieves the current callback function for element selection. \returns A pointer to the current . */ OdTvFeedbackForChooseCallback getFeedbackForChooseCallback() const; //DOM-IGNORE-BEGIN protected: const ODCOLORREF* m_pPalette; // Palette to be used. If NULL, one of two default palettes is used depending on the background color. OdTvDCRect m_importRect; // Output rectangle. Used for correct import of some specific objects (camera, OLE images). The normal way to set the output window size. double m_dFACETRES; // Facet res value (between from 0.01 to 10.0). OdUInt16 m_flags; // Different options. OdTvFeedbackForChooseCallback m_pCallback; // Callback for choose. //DOM-IGNORE-END }; /** \details This class implements the ODA Visualize SDK parameters for appending .prc file content. */ class ODTV_EXPORT OdTvPrcAppendParams : public OdTvPrcImportParams, public OdTvBaseAppendParams { public: /** \details Creates a new set of parameters for appending .prc file content. */ OdTvPrcAppendParams() : OdTvPrcImportParams() {}; /** \details Destroys the set of parameters for appending .prc file content. */ virtual ~OdTvPrcAppendParams() {} }; /** \details This class implements the ODA Visualize SDK parameters for importing BIM files. \sa */ class ODTV_EXPORT OdTvBimImportParams : public OdTvBaseImportParams { /** \details Specific options for BIM import operations. */ enum ParamFlags { /* Gives the names for the Visualize SDK entities according to the file object names (for example, AcDbCircle, etc). */ kObjectNaming = 1, /* Stores source objects in the user data of the objects. */ kStoreSource = 2, /* Uses thin lines mode. */ kThinLines = 4, /* Cleans empty objects. */ kClearEmptyObjects = 8, /* Ignore edge's colors. */ kIgnoreEdgesColors = 16, /* Use silhouettes. */ kUseSilhouettes = 32, /* Use multithreading vectorization. */ kUseMTforViewsImport = 64, /* Create 3D view (if it does not exist). */ kCreate3DView = 128, /* Use an alternative CDA tree with FamilySymbol. */ kUseAlternativeCDATree = 256, /* Import but do not apply shell face fill patterns. */ kDisableFaceFillPatterns = 512, /* Cut content of viewports */ kClipViewportContent = 1024, /* Calculate isolines */ kCalculateIsolines = 2048, /* Use custom deviation */ kUseCustomDeviation = 4096, /*Force Import level lines and base points*/ kForceImportLevelLinesAndBasePoints = 8192, /*Import categoryID (native handle of the Revit element's category) of objects*/ kStoreCategoryId = 16384 }; public: /** \details Contains declarations for the view display style that can be used in 3D view creation. */ enum ViewDisplayStyle { kWireframe = 1, kHiddenLine = 2, kShaded = 3, kShadedWithEdges = 4, kRendering = 5, kRealistic = 6, kConsistentColors = 7, kRealisticWithEdges = 8, kRaytrace = 9 }; /** \details Contains declarations for the view detail level that can be used in 3D view creation. */ enum ViewDetailLevel { kCoarse = 1, kMedium = 2, kFine = 3 }; /** \details Creates a new set of BIM import parameters with default values. */ OdTvBimImportParams(); /** \details Destroys the set of BIM import parameters. */ ~OdTvBimImportParams() {} /** \details Sets a new background value for the BIM file import operation. \param background [in] A new background color value. */ void setBackground(ODCOLORREF background); /** \details Retrieves the current background value. \returns The current value of the background color for the BIM file import operation. */ ODCOLORREF getBackground() const; /** \details Sets a new device rectangle that is used during the import operation. \param rect [in] A new rectangle object to be set. \remarks If all components of the rectangle are equal to zero, the rectangle is not associated with the Visualize device. */ void setDCRect(const OdTvDCRect& rect); /** \details Retrieves the current device rectangle that is used during the import operation. \returns The current device rectangle object. \remarks If all components of the rectangle are equal to zero, the rectangle is not associated with the Visualize device. */ OdTvDCRect getDCRect() const; /** \details Sets a new value of the "object naming" flag. \param bSet [in] A new flag value. */ void setObjectNaming(bool bSet); /** \details Retrieves the current "object naming" flag value. \returns The current value of the "object naming" flag. */ bool getObjectNaming() const; /** \details Sets a new value of the "store source objects" flag. \param bSet [in] A new flag value. */ void setStoreSourceObjects(bool bSet); /** \details Retrieves the current value of the "store source objects" flag. \returns The current "store source objects" flag value. */ bool getStoreSourceObjects() const; /** \details Sets a new callback function for filtering element selection. \param pCallback [in] A pointer to the . */ void setFeedbackForChooseCallback(OdTvFeedbackForChooseCallback pCallback); /** \details Retrieves the current callback function for element selection. \returns A pointer to the current . */ OdTvFeedbackForChooseCallback getFeedbackForChooseCallback() const; /** \details Sets a new callback function for warning message. \param pCallback [in] A pointer to the . */ void setFeedbackForWarningCallback(OdTvFeedbackForWarningCallback pCallback); /** \details Retrieves the current callback function for warning message. \returns A pointer to the current . */ OdTvFeedbackForWarningCallback getFeedbackForWarningCallback() const; /** \details Sets a new "thin lines" flag value. \param bSet [in] A new flag value. */ void setThinLines(bool bSet); /** \details Retrieves the current "thin lines" flag value. \returns true if thin lines are used; otherwise the method returns false. */ bool getThinLines() const; /** \details Sets a new value of the flag that determines whether empty objects should be cleared. \param bSet [in] A new flag value. */ void setClearEmptyObjects(bool bSet); /** \details Retrieves the current value of the "clear empty objects" flag. \returns true if empty objects should be cleared during the import operation; otherwise the method returns false. */ bool getClearEmptyObjects() const; /** \details Sets a new value of the flag that determines whether edge's colors should be ignored. \param bSet [in] A new flag value. */ void setIgnoreEdgesColors(bool bSet); /** \details Retrieves the current value of the "ignore edge colors" flag. \returns true if edge colors should be ignored during the import operation; otherwise the method returns false. */ bool getIgnoreEdgesColors() const; /** \details Sets a new value of the flag for using silhouettes. \param bSet [in] A new flag value. */ void setUseSilhouettes(bool bSet); /** \details Retrieves the current value of the "silhouette usage" flag. \returns true if silhouettes should be used; otherwise the method returns false. */ bool getUseSilhouettes() const; /** \details Sets a new value of the flag for multithreaded views import. \param bSet [in] A new flag value. */ void setUseMTforViewsImport(bool bSet); /** \details Retrieves the current value of the "multi-threaded views import" flag. \returns true if multi-threaded vectorization is enabled during the import operation; otherwise the method returns false. */ bool getUseMTforViewsImport() const; /** \details Sets a new value of maximum threads for importing views. \param nViewsImportThreads [in] A new value of maximum threads for vectorization. */ void setViewsImportThreads(OdUInt64 nViewsImportThreads); /** \details Retrieves the current value of maximum threads used when importing views. \returns The current value of maximum threads for importing views. */ OdUInt64 getViewsImportThreads() const; /** \details Sets a new value of the flag for 3D view creation (if it does not exist). \param bSet [in] A new flag value. */ void setCreate3DView(bool bSet); /** \details Retrieves the current value of the "3D view creation" flag. \returns true if 3D view creation is enabled during the import operation; otherwise the method returns false. */ bool getCreate3DView() const; /** \details Sets a new value of the flag for using an alternative CDA tree. \param bSet [in] A new flag value. */ void setUseAlternativeCDATree(bool bSet); /** \details Retrieves the current value of the "alternative CDA tree" flag. \returns true if using an alternative CDA tree is enabled during the import operation; otherwise the method returns false. */ bool getUseAlternativeCDATree() const; /** \details Sets a new value of the flag for ignoring shell face fill patterns. \param bSet [in] A new flag value. */ void setDisableFaceFillPatterns( bool bSet ); /** \details Retrieves the current value of the ignoring shell face fill patterns flag. \returns true if shell face fill patterns should be ignored during vectorization; otherwise the method returns false. */ bool getDisableFaceFillPatterns() const; /** \details Sets a pointer to the database to be imported. \param pDb [in] Database to be imported. \remarks This method may conflict with setFilePath() and setStreamBuffer(). Use only one of these methods. */ void setImportDatabase( OdDbBaseDatabase* pDb ); /** \details Retrives a pointer to the database to be imported. \returns A pointer to the database to be imported. \remarks This method may conflict with getFilePath() and getStreamBuffer(). Use only one of these methods. */ OdDbBaseDatabase* getImportDatabase() const; /** \details Sets a new value of the flag for cutting viewport content. \param bSet [in] A new flag value. */ void setClipViewportContent( bool bSet ); /** \details Retrieves the current value of the flag for cutting viewport content. \returns true if the invisible part of viewports should be cut; otherwise the method returns false. */ bool getClipViewportContent() const; /** \details Sets a new value of the default display style for 3D view, which will be crated. \param displayStyle [in] A new display style value. \remarks If 3D view already exists in imported RVT file, this parameter won't be used. */ void setDefault3DViewDisplayStyle(ViewDisplayStyle displayStyle); /** \details Retrieves the current default display style for 3D view, which will be crated. \returns Display style for 3D view, which will be crated. */ ViewDisplayStyle getDefault3DViewDisplayStyle() const; /** \details Sets a new value of the default detail level for 3D view, which will be crated. \param detailLevel [in] A new detail level value. \remarks If 3D view already exists in imported RVT file, this parameter won't be used. */ void setDefault3DViewDetailLevel(ViewDetailLevel detailLevel); /** \details Retrieves the current default detail level for 3D view, which will be crated. \returns Detail level for 3D view, which will be crated. */ ViewDetailLevel getDefault3DViewDetailLevel() const; /** \details Sets a flag which indicates that it is need to calculate isolines for the shells \param bCalculateIsolines [in] A new value for the flag */ void setCalculateIsolines(bool bCalculateIsolines); /** \details Retrieves the flag which indicates that it is need to calculate isolines for the shells \returns Returns the flag which indicates that it is need to calculate isolines for the shells */ bool getCalculateIsolines() const; /** \details Sets a flag which indicates whether it is need to use custom deviation (non-view dependent) and a new value of the custom deviation. \param bUseCustomDeviation [in] A new value for the flag \param dDeviation [in] A new custom deviation value (only if bUseCustomDeviation == true) \remarks The custom deviation value should be greater than 0.000001 */ void setUseCustomDeviation(bool bUseCustomDeviation, double dDeviation = 0.005); /** \details Retrieves the flag which indicates whether it is need to use custom deviation \returns Returns the flag which indicates whether it is need to use custom deviation */ bool getUseCustomDeviation() const; /** \details Retrieves the current custom deviation value. \returns The current custom deviation (greater than 0.000001) */ double getCustomDeviation() const; /** \details Sets a flag which indicates that it is need to force import level lines and base points. \param bForceImportLevelLinesAndBasePoints [in] A new value for the flag. */ void setForceImportLevelLinesAndBasePoints(bool bForceImportLevelLinesAndBasePoints); /** \details Retrieves the flag which indicates that it is need to force import level lines and base points. \returns Returns the flag which indicates that it is need to force import level lines and base points. */ bool getForceImportLevelLinesAndBasePoints() const; /** \details Sets a name of a custom CDA module. \param strCustomCDAModule [in] A new name for the custom CDA module. \remarks If this string is not empty and the module will successfully loaded, it will be used. Otherwise will be used default or alternative CDA module. */ void setCustomCDAModule(const OdString& strCustomCDAModule); /** \details Retrieves the name of the custom CDA module. \returns Returns the name of the custom CDA module. */ OdString getCustomCDAModule() const; /** \details Sets a new value of the "import categoryID" flag. \param bSet [in] A new flag value. */ void setStoreCategoryId(bool bSet); /** \details Retrieves the current value of the "import categoryID" flag. \returns The current "import categoryID" flag value. */ bool getStoreCategoryId() const; //DOM-IGNORE-BEGIN protected: ODCOLORREF m_background; // Background color. Default: black. OdTvDCRect m_importRect; // Output rectangle. Used for correct import of some specific objects (camera, OLE images). The normal way to set the output window size. OdUInt16 m_flags; // Different options. OdTvFeedbackForChooseCallback m_pCallback; // Callback for choose. OdTvFeedbackForWarningCallback m_pWarningCallback; // Callback for warning. OdUInt64 m_nViewsImportThreads; // Max number of vectorization threads OdDbBaseDatabase* m_pDatabase; // Original database ViewDisplayStyle m_default3DViewDisplayStyle; // Display style for 3D view creation ViewDetailLevel m_default3DViewDetailLevel; // Detail level for 3D view creation double m_dCustomDeviation; // Custom deviation OdString m_strCustomCDAModule; // Custom CDA module //DOM-IGNORE-END }; /** \details This class implements the ODA Visualize SDK parameters for appending BIM file content. */ class ODTV_EXPORT OdTvBimAppendParams : public OdTvBimImportParams, public OdTvBaseAppendParams { public: /** \details Creates a new set of parameters for appending BIM file content. */ OdTvBimAppendParams() : OdTvBimImportParams() {}; /** \details Destroys the set of parameters for appending BIM file content. */ virtual ~OdTvBimAppendParams() {} }; /** \details Type defenition for passing a callback for selecting directory. */ typedef OdString(*OdNwChooseFileCallback)(const OdString&); /** \details This class implements the Visualize SDK parameters for importing NwInterop files. \sa */ class ODTV_EXPORT OdTvNwImportParams : public OdTvCustomBaseImportParams { public: /** \details Specific options for NW import operations. */ enum ParamFlags { /* Store source. */ kStoreSourceObjects = 1, /* Change to NWC. */ kReplaceByNwc = 2, /* Import cutting planes. */ kImportCuttingPlanes = 4, /* Import Grid */ kImportGrid = 8, /* Import Animation */ kImportAnimation = 16, /* Import Recap */ kImportRecap = 32, /* Import Saved Viewpoints */ kImportSavedViewpoints = 64, /* Import Lights */ kImportLights = 128, /* Import with hierarchy. */ kImportWithHierarchy = 256, /* Import referenced geometry as inserts. */ kImportRefGeomAsInserts = 512, /* Import Recap as Rcs point cloud*/ kImportRecapAsRcsPointCloud = 1024 }; /** \details Creates a new set of NwInterop import parameters with default values. */ OdTvNwImportParams(); /** \details Destroys the set of Interop import parameters. */ ~OdTvNwImportParams() {} /** \details Sets a new device rectangle that is used during the import operation. \param rect [in] A new rectangle object to be set. \remarks If all components of the rectangle are equal to zero, the rectangle is not associated with the Visualize device. */ void setDCRect(const OdTvDCRect& rect); /** \details Retrieves the current device rectangle that is used during the import operation. \returns The current device rectangle object. \remarks If all components of the rectangle are equal to zero, the rectangle is not associated with the Visualize device. */ OdTvDCRect getDCRect() const; /** \details Sets a new background value for the NwInterop import operation. \param background [in] A new background color value. */ void setBackground(ODCOLORREF background); /** \details Retrieves the current background value. \returns The current value of the background color for the NwInterop import operation. */ ODCOLORREF getBackground() const; /** \details Sets a new "store source objects" flag value. \param bVal [in] A new flag value. */ void setStoreSourceObjects(bool bVal); /** \details Retrieves the "store source objects" flag value. \returns true if storage of the source objects is available; otherwise the method returns false. */ bool getStoreSourceObjects() const; /** \details Sets a new "change to Nwc" flag value. \param bVal [in] A new flag value. \remarks This option specifies to look for a corresponding cache file instead of importing data directly from a native file. */ void setReplaceByNwc(bool bVal); /** \details Retrieves the "change to Nwc" flag value. \returns true if change to Nwc is available; otherwise the method returns false. \remarks This option specifies to look for a corresponding cache file instead of importing data directly from a native file. */ bool getReplaceByNwc() const; /** \details Sets a new "import cutting planes" flag value. \param bVal [in] A new flag value. */ void setImportCuttingPlanes(bool bVal); /** \details Retrieves the "import cutting planes" flag value. \returns true if import of cutting planes is available; otherwise the method returns false. */ bool getImportCuttingPlanes() const; /** \details Sets a new callback function for filtering element selection. \param pCallback [in] A pointer to the . */ void setFeedbackForChooseCallback(OdTvFeedbackForChooseCallback pCallback); /** \details Retrieves the current callback function for element selection. \returns A pointer to the current . */ OdTvFeedbackForChooseCallback getFeedbackForChooseCallback() const; /** \details Retrieves the current callback function for file selection. \returns A pointer to the current . */ OdNwChooseFileCallback getFeedbackForChooseFileCallback() const; /** \details Sets a new callback function for directory selection. \param cb [in] A pointer to the . */ void setFeedbackForChooseFileCallback(OdNwChooseFileCallback cb); /** \details Retrieves the "import grid" flag value. \returns true if import of the grid is available; otherwise the method returns false. */ bool getImportGrid() const; /** \details Sets a new "import grid" flag value. \param bVal [in] A new flag value. */ void setImportGrid(bool bVal); /** \details Retrieves the "import animation" flag value. \returns true if import of the animation is available; otherwise the method returns false. */ bool getImportAnimation()const; /** \details Sets a new "import animation" flag value. \param bVal [in] A new flag value. */ void setImportAnimation(bool bVal); /** \details Retrieves the "import recap" flag value. \returns true if import of the recap is available; otherwise the method returns false. */ bool getImportRecap()const; /** \details Sets a new "import recap as Rcs point cloud" flag value. \param bVal [in] A new flag value. */ bool getImportRecapAsRcsPointCloud() const; /** \details Sets a new "import recap" flag value. \param bVal [in] A new flag value. */ void setImportRecap(bool bVal); /** \details Sets a new "import recap as Rcs point cloud" flag value. \param bVal [in] A new flag value. */ void setImportRecapAsRcsPointCloud(bool bVal); /** \details Sets a new "import saved viewpoints" flag value. \param bVal [in] A new flag value. */ void setImportSavedViewpoints(bool bVal); /** \details Retrieves the "import lights" flag value. \returns true if import of the lights is available; otherwise the method returns false. */ bool getImportLights() const; /** \details Sets a new "import lights" flag value. \param bVal [in] A new flag value. */ void setImportLights(bool bVal); /** \details Sets a new value of the "Import with hierarchy" flag. \param bImportWithHierarchy [in] A new flag value. */ void setImportWithHierarchy(bool bImportWithHierarchy); /** \details Checks whether nw hierarchy should be imported. \returns true if and only if nw hierarchy should be imported. */ bool getImportWithHierarchy() const; /** \details Sets a new value of the "Import referenced geometry as inserts" flag. \param bImportRefGeomAsInserts [in] A new flag value. */ void setImportRefGeomAsInserts(bool bImportRefGeomAsInserts); /** \details Checks whether referenced geometery should be imports as inserts \returns true if and only if referenced geometry should be imports as inserts */ bool getImportRefGeomAsInserts() const; /** \details Retrieves the "import saved viewpoints" flag value. \returns true if import of the saved viewpoints is available; otherwise the method returns false. */ bool getImportSavedViewpoints() const; /** \details Sets the number of threads used for multi-threaded loading. \param cnt [in] The number of threads. */ void setMultiThreadsCnt(OdUInt32 cnt); /** \details Retrieves the number of threads used for multi-threaded loading. \returns The number of threads used for multi-threaded loading. If multi-threaded loading is not set, the method returns zero. */ OdUInt32 getMultiThreadsCnt() const; /** \details Retrieves the string with a path to the reflection environment texture file name. \returns A string with a path to the reflection environment texture file name if a such path is set; otherwise the method returns an empty string. */ OdString getReflectionEnvironmentFileName() const; /** \details Sets a new string with path a path to the reflection environment texture file name. \param strPathToReflEnv [in] A new path to a texture file name for reflection environment. */ void setReflectionEnvironmentFileName(const OdString& strPathToReflEnv); /** \details Retrieves the string with a path to the partial import file name of a vsfx. \returns A string with a path to the partial import file name if a vsvx dump file name is set; otherwise the method returns an empty string. */ OdString getPartialImportFileName() const; /** \details Sets a new string with path to a partial import file name of a vsfx. \param pathToVsf [in] A new path to a vsfx partial import dump object. */ void setPartialImportFileName(const OdString& pathToVsf); /** \details Sets the path for the temporary directory where embedded files will be saved. \param path [in] The directory path for temporary files. \remarks When path is not empty, embedded files (textures, IES, external references like RCS/RCP) are saved to the specified directory. If empty, embedded files are processed inline. */ void setTempDirectoryPath(const OdString& path); /** \details Retrieves the temporary directory path for embedded files. \returns The directory path for temporary files. */ OdString getTempDirectoryPath() const; //DOM-IGNORE-BEGIN protected: OdTvDCRect m_importRect; // Output rectangle. Used for correct import of some specific objects (camera, OLE images). The normal way to set the output window size. ODCOLORREF m_background; // Background color. OdUInt16 m_flags; // Different flags OdTvFeedbackForChooseCallback m_pCallback; // Callback for choose. OdNwChooseFileCallback m_pFileCallback; // Callback for choose file. OdString m_partialImportFileName; // path to vsfx file for low memory import OdString m_reflEnvironmentFileName;// path to texture for reflection environment OdString m_tempDirectoryPath; // path to temp directory for embedded files OdUInt32 m_multiThreadsCnt; // mt threads count //DOM-IGNORE-END }; /** \details This class implements the Visualize SDK parameters for appending NwInterop file content. */ class ODTV_EXPORT OdTvNwAppendParams : public OdTvNwImportParams, public OdTvBaseAppendParams { public: /** \details Creates a new set of parameters for appending NwInterop file content. */ OdTvNwAppendParams() : OdTvNwImportParams() {}; /** \details Destroys the set of parameters for appending NwInterop file content. */ virtual ~OdTvNwAppendParams() {} }; /** \details This class implements the View (Enviroment) Backgrounds parameters for appending into .ifc and .step files. \sa */ class ODTV_EXPORT OdTvEnvBackgroundImportParameters { public: /** \details Creates a new set of enviroment import parameters with default values. */ OdTvEnvBackgroundImportParameters(); /** \details Creates a new set of enviroment import parameters with setted values. \param enviromentType [in] A new type of enviroment value. \param enviromentPath [in] A new path of enviroment value. \param longitude [in] A new longtitude value. \param latitude [in] A new latitude value. \param angleStatus [in] A new boolean angle status value. \param angle [in] A new angle value. \param customCubic [in] A new custom cubic image pointer. */ OdTvEnvBackgroundImportParameters(OdString enviromentType, OdString enviromentPath, OdInt longitude, OdInt latitude, bool angleStatus, double angle, OdGiRasterImagePtr customCubic = OdGiRasterImagePtr()); /** \details Default destructor. */ virtual ~OdTvEnvBackgroundImportParameters() {}; /** \details Comparison operator. Compares the specified object of the OdTvEnvBackgroundImportParameters class with this object. \param color [in] OdTvEnvBackgroundImportParameters object to compare with this object. \returns True if compared objects are equal; false otherwise. */ bool operator ==(const OdTvEnvBackgroundImportParameters& enviroment); /** \details Negative comparison operator. Compares the specified object of the OdTvEnvBackgroundImportParameters class with this object. \param color [in] OdTvEnvBackgroundImportParameters object to compare with this object. \returns True if compared objects are not equal; false otherwise. */ bool operator !=(const OdTvEnvBackgroundImportParameters& enviroment); /** \details Retrieves the current type of enviroment background. \returns Returns the current type of enviroment background. */ OdString getEnviromentType() const; /** \details Retrieves the current path of enviroment background. \returns Returns the current path of enviroment background. */ OdString getEnviromentPath() const; /** \details Retrieves the current longtitude of enviroment background. \returns Returns the current longtitude of enviroment background. */ OdInt getLongitude() const; /** \details Retrieves the current latitude of enviroment background. \returns Returns the current latitude of enviroment background. */ OdInt getLatitude() const; /** \details Retrieves the current angle status of enviroment background. \returns Returns the current angle status of enviroment background. */ bool getAngleStatus() const; /** \details Retrieves the current angle of enviroment background. \returns Returns the current angle of enviroment background. */ double getAngle() const; /** \details Retrieves is the enviroment background parameters empty. \returns Returns true if the enviroment background parameters empty. */ bool isEmpty() const; /** \details Retrieves the current custom cubic image pointer of enviroment background. \returns Returns the current custom cubic image pointer of enviroment background. */ OdGiRasterImagePtr getCustomCubic() const; protected: OdString m_enviromentType; OdString m_enviromentPath; OdInt m_longitude; OdInt m_latitude; bool m_angleStatus; double m_angle; OdGiRasterImagePtr m_customCubic; }; typedef OdSharedPtr OdTvEnvBackgroundImportParametersPtr; /** \details This class implements the ODA Visualize SDK parameters for importing .ifc files. \sa */ class ODTV_EXPORT OdTvIfcImportParams : public OdTvCustomBaseImportParams { /** \details Specific options for the importing from a .ifc files */ enum ParamFlags { /* Enable Multithreading */ kMultithreadingEnable = 1 << 0, /* Stores dictionary of TypePath to hdf5 file */ kUseDictionaryTypePath = 1 << 1, /* Store inverse attributes to hdf5 file */ kStoreInverseAttributes = 1 << 2, /* Enable logging */ kLogOn = 1 << 3, /* Indicates that entities should be marked for calculation of the isolines for the shells */ kCalculateIsolines = 1 << 4, /* Compose IfcElement isntances which are out of IFC model Spatial Structure. */ kComposeOutOfSpatialStructure = 1 << 5, /* Draw IfcOpeningElement instances as regular IfcElement isntances */ kDrawOpenings = 1 << 6, /* Draw point based representation */ kDrawPoints = 1 << 7, /* Draw IfcSpace instances as regular IfcElement isntances */ kDrawSpaces = 1 << 8, /* Process textures on visualization. Experimental feature, may not work as expected */ kTexturesVisibility = 1 << 9, /* Decompress ifczip files in memory */ kDecompressInMemory = 1 << 10, /* Multithreading mode for geometry compose */ kMultithreadedGeometryCompose = 1 << 11 }; public: /** \details Creates a new set of IFC import parameters with default values. */ OdTvIfcImportParams(); /** \details Destroys the set of IFC import parameters. */ virtual ~OdTvIfcImportParams() {}; /** \details Enables or disables the decompression into memory during compressed file loading. \param enable [in] Flag that states whether to enable decompressed loading. */ void setDecompressInMemory(bool enbale); /** \details Checks whether decompression in memory during compressed files loading is enabled. \returns Returns true if decompressed loading is enabled, false - otherwise. */ bool getDecompressInMemory() const; /** \details Sets the maximum compressed file size for decompression in memory. \remark Files of greater size will be decompressed into a temporary folder. \param fileSize [in] The maximum compressed file sizee for decompression in memory, megabytes. */ void setMaxFileSizeForDecompressInMemory(OdUInt16 fileSize); /** \details Retrieves the maximum compressed file size for decompression in memory. \returns An OdUInt16 value that represents the maximum compressed file size for decompression in memory, megabytes. */ OdUInt16 getMaxFileSizeForDecompressInMemory() const; /** \details Sets a new value of the background color. \param defcolor [in] A new background color value. */ void setBGColor(ODCOLORREF defcolor); /** \details Retrieves the current background color value. \returns The current value of the background color. */ ODCOLORREF getBGColor() const; /** \details Sets a new value of the threads count for the multi-threaded IFC files reading. \param threadsCount [in] A new threads count value. */ void setThreadsCount(OdUInt16 threadsCount); /** \details Retrieves the current threads count for the multi-threaded IFC files reading. \returns Returns the current count of threads for the multi-threaded IFC files reading. */ OdUInt16 getThreadsCount() const; /** \details Enables or disables the multithreading. \param enable [in] Flag that states whether to enable multithreading. */ void setEnableMultithreading(bool enable); /** \details Checks whether multithreading is enabled. \returns Returns true if multithreading is enabled, false - otherwise. */ bool getEnableMultithreading() const; /** \details Enables the logging. \param enable [in] Flag that specifies whether to enable logging. \remarks If the option is enabled, a new .log file is created with the same file name where the logging information is stored. */ void setIsLogOn(bool enable); /** \details Checks whether logging is enabled. \returns true if logging is enabled, or false otherwise. \remarks If the option is enabled, a new .log file is created with the same file name where the logging information is stored. */ bool getIsLogOn() const; /** \details Sets a new value for "use dictionary of TypePath" flag for hdf5 file. \param useDictionaryTypePath [in] A new value for "use dictionary of TypePath" flag value. */ void setUseDictionaryTypePath(bool useDictionaryTypePath); /** \details Retrieves the current "use dictionary of TypePath" flag value for hdf5 file. \returns true if the "use dictionary of TypePath" flag is enabled, false otherwise. */ bool getUseDictionaryTypePath() const; /** \details Sets a new value for "store inverse attributes" flag for hdf5 file. \param storeInverseAttributes [in] A new value for "store inverse attributes" flag value. \sa IFC Schemas */ void setStoreInverseAttributes(bool storeInverseAttributes); /** \details Retrieves the current "store inverse attributes" flag value for hdf5 file. \returns true if the "store inverse attributes" flag is enabled, false otherwise. \sa IFC Schemas */ bool getStoreInverseAttributes() const; /** \details Sets a new value of the deflate level for hdf5 file. The deflate level controls how much the file content is compressed. \param deflateLevel [in] A new deflate level value from 0 to 9. */ void setDeflateLevel(OdUInt16 deflateLevel); /** \details Retrieves the current deflate level value for hdf5 file. \returns Returns the current value of the deflate level from 0 to 9, where 0 indicates no compression and 9 represents the maximum compression. */ OdUInt16 getDeflateLevel() const; /** \details Sets a new value of the chunk size to read from hdf5 file. This parameter defines the number of data rows that are read at a time. \param readChunkSize [in] A new chunk size value. \remarks By default read chunk size is 0 (unlimited). */ void setReadChunkSize(OdUInt32 readChunkSize); /** \details Retrieves the current chunk size value to read from hdf5 file. This parameter represents the number of data rows that are read at a time. \returns Returns the current value of the chunk size. \remarks By default read chunk size is 0 (unlimited). */ OdUInt32 getReadChunkSize() const; /** \details Sets a new value of the chunk size to write to hdf5 file. This parameter defines the number of data rows that are written at a time. \param writeChunkSize [in] A new chunk size value. \remarks By default write chunk size is 1024. */ void setWriteChunkSize(OdUInt32 writeChunkSize); /** \details Retrieves the current chunk size value to write to hdf5 file. This parameter represents the number of data rows that are written at a time. \returns Returns the current value of the chunk size. \remarks By default write chunk size is 1024. */ OdUInt32 getWriteChunkSize() const; /** \details Sets the callback function. \param pCallback [in] A pointer to the function. */ void setFeedbackForChooseCallback(OdTvFeedbackForChooseCallback pCallback); /** \details Retrieves the current callback function for element selection. \returns Returns a pointer to the current callback function. */ OdTvFeedbackForChooseCallback getFeedbackForChooseCallback() const; /** \details Retrieves the deviation value that is used during the triangulation process. \returns Returns a double value that shows the maximum allowed deviation of a triangulated shape. */ double getDeviation() const; /** \details Sets the maximum allowed deviation value of a triangulated shape. \param deviation [in] A double value that specifies how much a triangulated shape will deviate from the same shape represented by an equation. */ void setDeviation(double deviation); /** \details Retrieves how many segments are used to construct a shape if the deviation value is high. \returns An OdUInt16 value that represents the quantity of segments used to form a shape when the deviation value is high. */ OdUInt16 getMinPerCircle() const; /** \details Sets the minimum amount of segments required to construct a shape if the deviation value is high. \param minPerCircle [in] Minimum quantity of segments used to form a shape when the deviation value is high. */ void setMinPerCircle(OdUInt16 minPerCircle); /** \details Retrieves how many segments are used to construct a shape if the deviation value is low. \returns An OdUInt16 value that represents the quantity of segments used to form a shape when the deviation value is low. */ OdUInt16 getMaxPerCircle() const; /** \details Sets the minimum amount of segments required to construct a shape if the deviation value is low. \param maxPerCircle [in] Maximum quantity of segments used to form a shape when the deviation value is low. */ void setMaxPerCircle(OdUInt16 maxPerCircle); /** \details Retrieves brep tolerance calculation method, that will be used to create brep IFC geometry . \returns An OdUInt8 value that represents a tolerance calculation method. Possible returned values:
NameValue
1Dynamic
2Static
*/ OdUInt8 getBrepToleranceType() const; /** \details Sets the brep tolerance calculation method, that will be used to create brep IFC geometry. \param type [in] Tolerance calculation method for IFC SDK. Possible values: 0 (Dynamic) and 1 (Static). */ void setBrepToleranceType(OdUInt8 type); /** \details Retrieves the dynamic tolerance coefficient that is used during brep visualization. \returns Returns Dynamic tolerance coefficient value. */ double getBrepToleranceDynamic() const; /** \details Sets the dynamic tolerance coefficient value. \param tolerance [in] A double value that specifies dynamic tolerance coefficient value. */ void setBrepToleranceDynamic(double tolerance); /** \details Retrieves the static tolerance value that is used during brep visualization process. \returns Returns Static tolerance value. */ double getBrepToleranceStatic() const; /** \details Sets the static tolerance value. \param tolerance [in] A double value that specifies static tolerance value. */ void setBrepToleranceStatic(double tolerance); /** \details Retrieves modeler type, that will be used to create IFC geometry. \returns An OdUInt8 value that represents a modeler type. Possible returned values:
NameValue
0ODA Facet Modeler
1Spatial ACIS Modeler
2ODA B-Rep Modeler
*/ OdUInt8 getModelerType() const; /** \details Sets the modeler type that will be used to create IFC geometry. \param type [in] Modeler type for IFC SDK. Possible values: 0 (ODA Facet Modeler), 1 (Spatial ACIS modeler) and 2 (ODA Brep Modeler). */ void setModelerType(OdUInt8 type); /** \details Sets a new device rectangle that is used during the import operation. \param rect [in] A new to be set. \remarks If all components of the specified rectangle are equal to zero, the rectangle is not associated with the Visualize device. */ void setDCRect(const OdTvDCRect& rect); /** \details Retrieves the current device rectangle that is used during the import operation. \returns The current device rectangle object. \remarks If all components of the returned rectangle are equal to zero, the rectangle is not associated with the Visualize device. */ OdTvDCRect getDCRect() const; /** \details Sets a new value of the background type for the default setted background. \param backgroundTypeValue [in] A new background type value. \remarks backgroundTypeValue must contain one of the following: Name Value Description BackgroundType::kGradient 0 Background Type is Gradient BackgroundType::kColor 1 Background Type is Color BackgroundType::kEnviroment 2 Background Type is View (Enviroment) Backgrounds
*/ void setCustomBgTypeValue(BackgroundType backgroundTypeValue); /** \details Retrieves the current background type value for the default setted background. \returns Returns the current value of background type. */ BackgroundType getCustomBgTypeValue() const; /** \details Sets a new value of enviroment background parameters. \param envParam [in] A new parameters for enviroment background. */ void setEnvBackgroundParam(OdTvEnvBackgroundImportParametersPtr envParam); /** \details Retrieves the current paramenters for enviroment background. \returns Returns the current paramenters for enviroment background. */ OdTvEnvBackgroundImportParametersPtr getEnvBackgroundParam() const; /** \details Sets a flag which indicates that it is need to calculate isolines for the shells \param bCalculateIsolines [in] A new value for the flag */ void setCalculateIsolines(bool bCalculateIsolines); /** \details Retrieves the flag which indicates that it is need to calculate isolines for the shells \returns Returns the flag which indicates that it is need to calculate isolines for the shells */ bool getCalculateIsolines() const; /** \details Sets a flag which indicates that it is needed to compose IfcElement instances which are out of spatial structure. \param bComposeOutOfSpatialStructure [in] A new value for the flag */ void setComposeOutOfSpatialStructure(bool bComposeOutOfSpatialStructure); /** \details Retrieves the flag which indicates that it is needed to compose IfcElement instances which are out of spatial structure. \returns Returns the flag which indicates that it is needed to compose IfcElement instances which are out of spatial structure. */ bool getComposeOutOfSpatialStructure() const; /** \details Sets a flag which indicates that it is needed to draw IfcOpeningElements as regular IfcElement instances. \param bDrawOpenings [in] A new value for the flag */ void setDrawOpenings(bool bDrawOpenings); /** \details Retrieves the flag which indicates that it is needed to draw IfcOpeningElements as regular IfcElement instances. \returns Returns the flag which indicates that it is needed to draw IfcOpeningElements as regular IfcElement instances. */ bool getDrawOpenings() const; /** \details Retrieves the transparency of IfcOpeningItems during visualization. \returns Returns Draw opening transparency value. */ double getDrawOpeningsTransparency() const; /** \details Sets the transparency of IfcOpeningItems during visualization. \param transparency [in] A double value that specifies draw opening transparency value. */ void setDrawOpeningsTransparency(double transparency); /** \details Sets a flag which indicates that it is needed to draw IfcRepresentationItem based on IfcCartesianPoint elements. \param bDrawPoints [in] A new value for the flag \remarks false by default. */ void setDrawPoints(bool bDrawPoints); /** \details Retrieves the flag which indicates that it is needed to draw IfcRepresentationItem based on IfcCartesianPoint elements. \returns Returns the flag which indicates that it is needed to draw IfcRepresentationItem based on IfcCartesianPoint elements. */ bool getDrawPoints() const; /** \details Sets a value that determines visual type of IfcCartesianPoint elements. \param val [in] a PointRepresentation value for draw IfcRepresentationItem elements. \remarks See OdIfcModelContext::PointRepresentation for details. Possible values: 0 (Point), 1 (TrianglePyramid), 2 (RectanglePyramid), 3 (Sphere), 4 (Cube) and 5 (Cone). */ void setPointShape(OdUInt8 type); /** \details Retrieves a value that determines visual type of IfcCartesianPoint elements. \returns PointRepresentation value that is selected for IfcCartesianPoint elements. \remarks kPoint by default.
NameValue
0Point
1TrianglePyramid
2RectanglePyramid
3Sphere
4Cube
5Cone
*/ OdUInt8 getPointShape() const; /** \details Retrieves a value that determines representation of IfcReinforcingBar elements. \returns ReinforcingBarsRepresentation value that is selected for IfcReinforcingBar elements. \remarks Optimized low-poly by default.
NameValue
0Optimized low-poly
1Precise body high-poly
2Curve based
*/ OdUInt8 getReinforcingBarRepresentation() const; /** \details Sets a value that determines visual type of IfcReinforcingBar representation elements. \param val [in] a ReinforcingBarsRepresentation value for draw IfcReinforcingBar elements. \remarks See OdIfcModelContext::ReinforcingBarsRepresentation for details. Possible values: 0 (Optimized), 1 (Precise body), 2 (Curve). */ void setReinforcingBarRepresentation(OdUInt8 type); /** \details Sets a flag which indicates that it is needed to draw IfcSpaces as regular IfcElement instances. \param bDrawSpaces [in] A new value for the flag */ void setDrawSpaces(bool bDrawSpaces); /** \details Retrieves the flag which indicates that it is needed to draw IfcSpaces as regular IfcElement instances. \returns Returns the flag which indicates that it is needed to draw IfcSpaces as regular IfcElement instances. */ bool getDrawSpaces() const; /** \details Retrieves the transaparency of IfcSpace items during visualization. \returns Returns Draw spaces transparency value. */ double getDrawSpacesTransparency() const; /** \details Sets the transparency of IfcSpaces items during visualization. \param transparency [in] A double value that specifies draw spaces transparency value. */ void setDrawSpacesTransparency(double transparency); /** \details Retrieves the flag which indicates that textures visualization is supports. \returns Returns the flag which indicates that textures visualization is supports. */ bool getTexturesVisibility() const; /** \details Sets a flag which indicates that textures visualization is supports. \param bTexturesVisibility [in] A new value for the flag */ void setTexturesVisibility(bool bTexturesVisibility); /** \details Retrieves the flag which enables milti-threaded geometry compose. \returns Returns the flag which enables milti-threaded geometry compose. */ bool getMultitreadGeometryCompose() const; /** \details Sets a flag which enables milti-threaded geometry compose. \param isEnabled [in] A new value for the flag */ void setMultitreadGeometryCompose(bool isEnabled); //DOM-IGNORE-BEGIN protected: OdTvFeedbackForChooseCallback m_pCallback; // Callback for choose representation contexts to visualize. double m_deviation; // Triangulation deviation value (for IFC SDK configuration with ODA Facet Modeler). OdUInt16 m_minPerCircle; // Minimum number of segments per circle if deviation is high (for IFC SDK configuration with ODA Facet Modeler). OdUInt16 m_maxPerCircle; // Maximum number of segments per circle if deviation is low (for IFC SDK configuration with ODA Facet Modeler). OdUInt8 m_brepToleranceType; // Tolerance type for B-Rep objects visualization. double m_brepToleranceDynamic; // Tolerance coefficient value for dynamic B-Rep objects tolerance calculation. Calculation is based on B-Rep object extents. double m_brepToleranceStatic; // Static tolerance value for B-Rep objects. Value of surface tolerance. OdUInt8 m_modelerType; // Modeler type for IFC geometry. ODCOLORREF m_BGColor; // Background color. OdUInt16 m_flags; // Different options. OdUInt16 m_threadsCount; // Threads count. OdUInt16 m_deflateLevel; // DeflateLevel for hdf5 file. OdUInt32 m_readChunkSize; // Chunk size for reading hdf5 file. OdUInt32 m_writeChunkSize; // Chunk size for writing hdf5 file. OdTvDCRect m_importRect; // Output rectangle. Used for correct import of some specific objects. The normal way to set the output window size. BackgroundType m_backgroundTypeValue; // Background type (color fill, gradient or environment picture) OdTvEnvBackgroundImportParametersPtr m_envBackgroundParameters; // Background parameters structure OdUInt8 m_pointShapeType; // Shape type for point representation OdUInt8 m_reinforcingBarRepresentation; // Shape type for reinforcing bar - optimized/modeler precise body or curve double m_drawOpeningsTransparency; // Transparency value for IfcOpeningElement in case of enabled option double m_drawSpacesTransparency; // Transparency value for IfcSpace element in case of enabled option OdUInt16 m_maxFileSizeForDecompressInMemory; // Max compressed file size to decompress in memory, in megabytes. //DOM-IGNORE-END }; /** \details This class implements the ODA Visualize SDK parameters for appending .ifc files. */ class ODTV_EXPORT OdTvIfcAppendParams : public OdTvIfcImportParams, public OdTvBaseAppendParams { public: /** \details Creates a new set of parameters for appending content of an .ifc file. */ OdTvIfcAppendParams() : OdTvIfcImportParams() {}; /** \details Destroys the set of parameters for appending content of an .ifc file. */ virtual ~OdTvIfcAppendParams() {}; }; /** \details This class implements the ODA Visualize SDK parameters for importing .dwf files. */ class ODTV_EXPORT OdTvDwfImportParams : public OdTvBaseImportParams { public: /** \details Specific options for the importing from a .dwf drawing. */ enum ParamFlags { /* Gives the names of the Visualize SDK entities according to file object names (for example, AcDbCircle, etc). */ kObjectNaming = 1, /* Stores source objects in the user data of the objects. */ kStoreSource = 2, /* Cleans empty objects. */ kClearEmptyObjects = 4, /* Converts indexed colors to RGB during import. */ kConvertIndexedToRGB = 8 }; public: /** \details Creates a new set of .dwf import parameters with default values: m_background = ODRGB(120, 120, 120) m_pPalette = NULL m_pCallback = NULL m_flags = kClearEmptyObjects m_importRect = (0, 1, 1, 0) */ OdTvDwfImportParams(); /** \details Destroys the set of .dwf import parameters. */ ~OdTvDwfImportParams() {} /** \details Sets a new value of the background color. \param background [in] A new background color. */ void setBackground(ODCOLORREF background); /** \details Retrieves the current value of the background color. \returns The current value of the background color. */ ODCOLORREF getBackground() const; /** \details Sets a new palette to be used during the import operation. \param pPalette [in] A pointer to the color array that represents the new palette. \remarks If the pPalette parameter is NULL, one of two default palettes is used depending on the background color value. */ void setPalette(const ODCOLORREF* pPalette); /** \details Retrieves the current palette to be used during the import operation. \returns A pointer to the color array that represents the current palette. \remarks If no palette is set (the method returns a NULL pointer), one of two default palettes is used depending on the background color value. */ const ODCOLORREF* getPalette() const; /** \details Sets a new device rectangle that is used during the import operation. \param rect [in] A new to be set. \remarks If all components of the specified rectangle are equal to zero, the rectangle is not associated with the Visualize device. */ void setDCRect(const OdTvDCRect& rect); /** \details Retrieves the current device rectangle that is used during the import operation. \returns The current device rectangle object. \remarks If all components of the returned rectangle are equal to zero, the rectangle is not associated with the Visualize device. */ OdTvDCRect getDCRect() const; /** \details Sets a new value of the "object naming" flag. \param bSet [in] A new flag value. */ void setObjectNaming(bool bSet); /** \details Retrieves the current "object naming" flag value. \returns The current value of the "object naming" flag. */ bool getObjectNaming() const; /** \details Sets a new value of the "store source objects" flag. \param bSet [in] A new flag value. */ void setStoreSourceObjects(bool bSet); /** \details Retrieves the current value of the "store source objects" flag. \returns The current "store source objects" flag value. */ bool getStoreSourceObjects() const; /** \details Sets a new value of the flag that determines whether empty objects should be cleared. \param bSet [in] A new flag value. */ void setClearEmptyObjects(bool bSet); /** \details Retrieves the current value of the "clear empty objects" flag. \returns true if empty objects should be cleared during the import operation; otherwise the method returns false. */ bool getClearEmptyObjects() const; /** \details Sets a new callback function for filtering element selection. \param pCallback [in] A pointer to the . */ void setFeedbackForChooseCallback(OdTvFeedbackForChooseCallback pCallback); /** \details Retrieves the current callback function for element selection. \returns A pointer to the current . */ OdTvFeedbackForChooseCallback getFeedbackForChooseCallback() const; /** \details Specifies whether the indexed colors should be converted to RGB during import. \param bNeedConvertIndexedtoRGB [in] A new value of kConvertIndexedToRGB flag. */ void setConvertIndexedToRGB(bool bNeedConvertIndexedtoRGB); /** \details Checks whether the indexed colors should be converted to RGB during import. \returns The value of the kConvertIndexedToRGB flag. */ bool getConvertIndexedToRGB() const; //DOM-IGNORE-BEGIN protected: ODCOLORREF m_background; // Background color. Default: black. const ODCOLORREF* m_pPalette; // Palette to be used. If NULL, one of two default palettes is used depending on background color. OdTvDCRect m_importRect; // Output rectangle. Used for correct import of some specific objects (camera, OLE images, 3D solids). The normal way to set the output window size. OdUInt16 m_flags; // Different options. OdTvFeedbackForChooseCallback m_pCallback; // Callback for choose. //DOM-IGNORE-END }; /** \details This class implements the ODA Visualize SDK parameters for appending .dwf files. */ class ODTV_EXPORT OdTvDwfAppendParams : public OdTvDwfImportParams, public OdTvBaseAppendParams { public: /** \details Creates a new set of parameters for appending content of an .dwf file. */ OdTvDwfAppendParams() : OdTvDwfImportParams() {}; /** \details Destroys the set of parameters for appending content of an .dwf file. */ virtual ~OdTvDwfAppendParams() {}; }; /** \details This class implements the ODA Visualize SDK parameters for importing .vsf files. */ class ODTV_EXPORT OdTvVsfImportParams : public OdTvBaseImportParams { public: /** \details Specific options for the VSF import operation. */ enum ParamFlags { /**An option that defines whether import with multithreading is applied.*/ kMtImport = 1 }; public: /** \details Creates a new set of .vsf import parameters with default values. */ OdTvVsfImportParams(); /** \details Destroys the set of .vsf import parameters. */ ~OdTvVsfImportParams() {} /** \details Specifies whether the file has to be imported in multi-threading mode. \param bNeedMT [in] A new value of kMtImport flag. */ void setMtImport( bool bNeedMT ); /** \details Checks whether the file has to be imported in multi-threading mode. \returns Returns value of kMtImport flag. */ bool getMtImport() const; /** \details Sets a new callback function for filtering element selection. \param pCallback [in] A pointer to the . */ void setFeedbackForChooseCallback( OdTvFeedbackForChooseCallback pCallback ); /** \details Retrieves the current callback function for element selection. \returns Returns a pointer to the current . */ OdTvFeedbackForChooseCallback getFeedbackForChooseCallback() const; //DOM-IGNORE-BEGIN protected: OdUInt8 m_flags; // Different options. OdTvFeedbackForChooseCallback m_pCallback; // Callback for choose. //DOM-IGNORE-END }; /** \details This class implements the ODA Visualize SDK parameters for appending .vsf files. */ class ODTV_EXPORT OdTvVsfAppendParams : public OdTvVsfImportParams, public OdTvBaseAppendParams { public: /** \details Creates a new set of parameters for appending content of an .vsf file. */ OdTvVsfAppendParams() : OdTvVsfImportParams() {}; /** \details Destroys the set of parameters for appending content of an .vsf file. */ virtual ~OdTvVsfAppendParams() {}; }; /** \details This class implements the ODA Visualize SDK parameters for importing STEP (.stp, .step, .stpz, ...) files. \sa */ class ODTV_EXPORT OdTvStepImportParams : public OdTvCustomBaseImportParams { /** \details Specific options for the importing from a .step files */ enum ParamFlags { /* Multi-threaded mode of STEP files reading */ kMultithreadingEnable = 1 << 0, /* Decompress files (stpz, stpa, stpxz etc.) file in memory, in megabytes */ kMaxFileSizeForDecompressInMemory = 1 << 1, /* Enable file reading and geometry visualization processes logging */ kLogOn = 1 << 2, /* Force use of AP242 EXPRESS schema for STEP AP files loading */ kForceUseAP242 = 1 << 3, /* Need CDA tree font special symbols (GD&T) conversion */ kNeedCDATreeFontSymbolsConversion = 1 << 4, /* Need Placeholder objects visualization */ kDrawPlaceholderData = 1 << 5, /* Need Invisible objects visualization */ kDrawInvisibleObjects = 1 << 6, }; public: enum class BrepToleranceType { /**Dynamic tolerance calculation mode for STEP file visualization*/ kDynamic = 0, /**Static tolerance for STEP file visualization*/ kStatic = 1 }; /** \details Creates a new set of STEP import parameters with default values. */ OdTvStepImportParams(); /** \details Destroys the set of STEP import parameters. */ virtual ~OdTvStepImportParams() {}; /** \details Enables or disables the decompression into memory during compressed file loading. \param enable [in] Flag that states whether to enable decompressed loading. */ void setDecompressInMemory(bool enbale); /** \details Checks whether decompression in memory during compressed files loading is enabled. \returns Returns true if decompressed loading is enabled, false - otherwise. */ bool getDecompressInMemory() const; /** \details Sets the maximum compressed file size for decompression in memory. \remark Files of greater size will be decompressed into a temporary folder. \param fileSize [in] The maximum compressed file sizee for decompression in memory, megabytes. */ void setMaxFileSizeForDecompressInMemory(OdUInt16 fileSize); /** \details Retrieves the maximum compressed file size for decompression in memory. \returns An OdUInt16 value that represents the maximum compressed file size for decompression in memory, megabytes. */ OdUInt16 getMaxFileSizeForDecompressInMemory() const; /** \details Sets a new value of the background color. \param defcolor [in] A new background color value. */ void setBGColor(ODCOLORREF defcolor); /** \details Retrieves the current background color value. \returns The current value of the background color. */ ODCOLORREF getBGColor() const; /** \details Sets a new value of the threads count for the multi-threaded STEP files reading. \param threadsCount [in] A new threads count value. */ void setThreadsCount(OdUInt16 threadsCount); /** \details Retrieves the current threads count for the multi-threaded STEP files reading. \returns Returns the current count of threads for the multi-threaded STEP files reading. */ OdUInt16 getThreadsCount() const; /** \details Enables or disables the multithreading. \param enable [in] Flag that states whether to enable multithreading. */ void setEnableMultithreading(bool enable); /** \details Checks whether multithreading is enabled. \returns Returns true if multithreading is enabled, false - otherwise. */ bool getEnableMultithreading() const; /** \details Sets force use of AP242 EXPRESS schema for STEP AP files loading. \param enable [in] Flag that states whether to enable AP242 using. /remarks The option is used for reading files which have incorrectly defined EXPRESS Schema name in header's FILE_SCHEMA instance. */ void setForceUseAP242(bool enable); /** \details Retrieves if force use AP242 EXPRESS schema for STEP files loading is turned on. \returns Returns true if force using AP242 is enabled for files loading; otherwise returns false. */ bool getForceUseAP242() const; /** \details Enables the logging. \param enable [in] Flag that specifies whether to enable logging. \remarks If the option is enabled, a new .log file is created with the same file name where the logging information is stored. */ void setIsLogOn(bool enable); /** \details Checks whether logging is enabled. \returns true if logging is enabled, or false otherwise. \remarks If the option is enabled, a new .log file is created with the same file name where the logging information is stored. */ bool getIsLogOn() const; /** \details Sets the callback function. \param pCallback [in] A pointer to the function. */ void setFeedbackForChooseCallback(OdTvFeedbackForChooseCallback pCallback); /** \details Retrieves the current callback function for element selection. \returns Returns a pointer to the current callback function. */ OdTvFeedbackForChooseCallback getFeedbackForChooseCallback() const; /** \details Retrieves the deviation value that is used during the triangulation process. \returns Returns a double value that shows the maximum allowed deviation of a triangulated shape. */ double getDeviation() const; /** \details Sets the maximum allowed deviation value of a triangulated shape. \param deviation [in] A double value that specifies how much a triangulated shape will deviate from the same shape represented by an equation. */ void setDeviation(double deviation); /** \details Retrieves how many segments are used to construct a shape if the deviation value is high. \returns An OdUInt16 value that represents the quantity of segments used to form a shape when the deviation value is high. */ OdUInt16 getMinPerCircle() const; /** \details Sets the minimum amount of segments required to construct a shape if the deviation value is high. \param minPerCircle [in] Minimum quantity of segments used to form a shape when the deviation value is high. */ void setMinPerCircle(OdUInt16 minPerCircle); /** \details Retrieves how many segments are used to construct a shape if the deviation value is low. \returns An OdUInt16 value that represents the quantity of segments used to form a shape when the deviation value is low. */ OdUInt16 getMaxPerCircle() const; /** \details Sets the minimum amount of segments required to construct a shape if the deviation value is low. \param maxPerCircle [in] Maximum quantity of segments used to form a shape when the deviation value is low. */ void setMaxPerCircle(OdUInt16 maxPerCircle); /** \details Retrieves solid tolerance calculation method, that will be used to create brep STEP geometry in solid model. \returns An BrepToleranceType value that represents a tolerance calculation method. */ BrepToleranceType getBrepToleranceType() const; /** \details Sets the solid tolerance calculation method, that will be used to create brep STEP geometry in solid model. \param type [in] Tolerance calculation method for STEP SDK. */ void setBrepToleranceType(BrepToleranceType type); /** \details Retrieves the dynamic tolerance coefficient that is used during brep visualization process. \returns Returns Dynamic tolerance coefficient value. */ double getBrepToleranceDynamic() const; /** \details Sets the dynamic tolerance coefficient value. \param tolerance [in] A double value that specifies dynamic tolerance coefficient value. */ void setBrepToleranceDynamic(double tolerance); /** \details Retrieves the static tolerance value that is used during brep visualization process. \returns Returns Static tolerance value. */ double getBrepToleranceStatic() const; /** \details Sets the static tolerance value. \param tolerance [in] A double value that specifies static tolerance value. */ void setBrepToleranceStatic(double tolerance); /** \details Retrieves modeler type, that will be used to create STEP geometry. \returns An OdUInt8 value that represents a modeler type. Possible returned values:
NameValue
0ODA Facet Modeler
1Spatial ACIS Modeler
2ODA B-Rep Modeler
*/ OdUInt8 getModelerType() const; /** \details Sets the modeler type, that will be used to create STEP geometry. \param type [in] Modeler type for STEP SDK. Possible values: 0 (ODA Facet Modeler), 1 (Spatial ACIS modeler) and 2 (ODA Brep Modeler). */ void setModelerType(OdUInt8 type); /** \details Retrieves the loading representation type for products that have more than one representation. \returns An OdUInt8 value that represents the representation type. \remarks The method returns one of the following values:
Name Value
0Default representation
1Alternative representation
2Representation is selected on file opening
*/ OdInt32 getRepresentationTypeSelect() const; /** \details Sets the loading representation type for products that have more than one representation. \param type [in] The loading representation type. Possible values: 0 (Default representation), 1 (Alternative representation) and 2 (Representation is selected on load). */ void setRepresentationTypeSelect(OdInt32 type); /** \details Sets a new device rectangle that is used during the import operation. \param rect [in] A new to be set. \remarks If all components of the specified rectangle are equal to zero, the rectangle is not associated with the Visualize device. */ void setDCRect(const OdTvDCRect& rect); /** \details Retrieves the current device rectangle that is used during the import operation. \returns The current device rectangle object. \remarks If all components of the returned rectangle are equal to zero, the rectangle is not associated with the Visualize device. */ OdTvDCRect getDCRect() const; /** \details Sets a new value of the background type for the default setted background. \param backgroundTypeValue [in] A new background type value. \remarks backgroundTypeValue must contain one of the following: Name Value Description BackgroundType::kGradient 0 Background Type is Gradient BackgroundType::kColor 1 Background Type is Color BackgroundType::kEnviroment 2 Background Type is View (Enviroment) Backgrounds
*/ void setCustomBgTypeValue(BackgroundType backgroundTypeValue); /** \details Retrieves the current background type value for the default setted background. \returns Returns the current value of background type. */ BackgroundType getCustomBgTypeValue() const; /** \details Sets a new value of enviroment background parameters. \param envParam [in] A new parameters for enviroment background. */ void setEnvBackgroundParam(OdTvEnvBackgroundImportParametersPtr envParam); /** \details Retrieves the current paramenters for enviroment background. \returns Returns the current paramenters for enviroment background. */ OdTvEnvBackgroundImportParametersPtr getEnvBackgroundParam() const; /** \details Sets a new value for CDA tree font special symbols conversion flag. \param bSet [in] A new conversion flag value. */ void setNeedCDATreeFontSymbolsConversion(bool bSet); /** \details Retrieves the current value for CDA tree font special symbols conversion flag. \returns true if special symbols conversion is needed for CDA Tree; otherwise returns false. */ bool getNeedCDATreeFontSymbolsConversion() const; /** \details Sets a new flag value for drawing data from annotation_placeholder_occurrence entity. \param bSet [in] A new drawing flag value. */ void setDrawPlaceholderData(bool bSet); /** \details Retrieves the current value for drawing data from annotation_placeholder_occurrence entity. \returns true if data from annotation_placeholder_occurrence entity are drawing; otherwise returns false. */ bool getDrawPlaceholderData() const; /** \details Sets a new flag value for drawing invisible objects. \param bSet [in] A new drawing flag value. */ void setDrawInvisibleObjects(bool bSet); /** \details Retrieves the current value for drawing invisible objects. \returns true if invisible objects are drawing; otherwise returns false. */ bool getDrawInvisibleObjects() const; //DOM-IGNORE-BEGIN protected: OdTvFeedbackForChooseCallback m_pCallback; // Callback for choose possible representations for STEP products, if alternative representation is available. double m_deviation; // Triangulation deviation value (for STEP SDK configuration with ODA Facet Modeler, deprecated). OdUInt16 m_minPerCircle; // Minimum number of segments per circle if deviation is high (for STEP SDK configuration with ODA Facet Modeler, deprecated). OdUInt16 m_maxPerCircle; // Maximum number of segments per circle if deviation is low (for STEP SDK configuration with ODA Facet Modeler, deprecated). BrepToleranceType m_brepToleranceType; // Tolerance type for B-Rep objects visualization. double m_brepToleranceDynamic; // Tolerance coefficient value for dynamic B-Rep objects tolerance calculation. Calculation is based on B-Rep object extents. double m_brepToleranceStatic; // Static tolerance value for B-Rep objects. Value of surface tolerance. OdUInt8 m_modelerType; // Modeler type for STEP geometry (0 - ODA Solid Modeler). ODCOLORREF m_BGColor; // Background color. OdUInt16 m_flags; // Different options. OdUInt16 m_decompressedFilesSize; // Max compressed file size to decompress in memory. OdUInt16 m_threadsCount; // Threads count for multi-threaded STEP file reading. OdInt32 m_representationTypeSelect; // Selection of loading representations type (Mechanism of choice should be implemented on application side and may assume interaction with user or automatic filtering) OdTvDCRect m_importRect; // Output rectangle. Used for correct import of some specific objects. The normal way to set the output window size. BackgroundType m_backgroundTypeValue; // Background type (color fill, gradient or environment picture) OdTvEnvBackgroundImportParametersPtr m_envBackgroundParameters; // Background parameters structure //DOM-IGNORE-END }; /** \details This class implements the ODA Visualize SDK parameters for appending .step files. */ class ODTV_EXPORT OdTvStepAppendParams : public OdTvStepImportParams, public OdTvBaseAppendParams { public: /** \details Creates a new set of parameters for appending content of an .step file. */ OdTvStepAppendParams() : OdTvStepImportParams() {}; /** \details Destroys the set of parameters for appending content of an .step file. */ virtual ~OdTvStepAppendParams() {}; }; /** \details This class implements the ODA Visualize SDK parameters for importing from an .xml (LandXML) files. */ class ODTV_EXPORT OdTvXmlImportParams : public OdTvCustomBaseImportParams { public: /** \details Creates a new set of xml import parameters with default values. */ OdTvXmlImportParams() {}; /** \details Destroys the set of xml import parameters. */ virtual ~OdTvXmlImportParams() {}; }; /** \details This class implements the ODA Visualize SDK parameters for appending .xml (LandXML) files. */ class ODTV_EXPORT OdTvXmlAppendParams : public OdTvXmlImportParams { public: /** \details Creates a new set of parameters for appending content of an .xml file. */ OdTvXmlAppendParams() : OdTvXmlImportParams() {}; /** \details Destroys the set of parameters for appending content of an .xml file. */ virtual ~OdTvXmlAppendParams() {}; }; /** \details This class stores and handles the Visualize SDK parameters for low memory import. */ class ODTV_EXPORT OdTvLowMemoryImportParams { public: /** \details Creates a new instance of low memory import parameters. */ OdTvLowMemoryImportParams() : m_fileName( OdString::kEmpty ) , m_unloadQueueLimit( 100 ) , m_unloadQueuePercentThreshold( 0.05 ) {}; /** \details Creates a new instance of low memory import parameters. \param outputFileName [in] A full path to the output VSF file. */ OdTvLowMemoryImportParams( const OdString& outputFileName ) : m_fileName( outputFileName ) , m_unloadQueueLimit( 100 ) , m_unloadQueuePercentThreshold( 0.05 ) {}; /** \details Destroys the instance of low memory import parameters. */ ~OdTvLowMemoryImportParams() {} /** \details Sets a new output file name. \param outputFileName [in] A full path to the output VSF file. */ void setOutputFile( const OdString& outputFileName ); /** \details Retrieves the current output file name. \returns The current output file name. */ const OdString& getOutputFileName() const; /** \details Sets a new unload queue size. \param nLimit [in] A new unload queue size. */ void setUnloadQueueLimit( OdUInt32 nLimit ); /** \details Retrieves the current unload queue size. \returns The current unload queue size. */ OdUInt32 getUnloadQueueLimit() const; /** \details Sets a new value of the unload queue percent threshold. \param dThreshold [in] A new value of the unload queue percent threshold. */ void setUnloadQueuePercentThreshold( double dThreshold ); /** \details Retrieves the current value of the unload queue percent threshold. \returns The current value of the unload queue percent threshold. */ double getUnloadQueuePercentThreshold() const; private: OdString m_fileName; OdUInt32 m_unloadQueueLimit; double m_unloadQueuePercentThreshold; }; /** \details This class stores and handles the Visualize SDK parameters for low memory GS Cache generation. */ class ODTV_EXPORT OdTvLowMemoryGsCacheGenerationParams { public: /** \details Creates a new instance of low memory GS Cache generation parameters. */ OdTvLowMemoryGsCacheGenerationParams() = default; /** \details Destroys the instance of low memory GS Cache generation parameters. */ ~OdTvLowMemoryGsCacheGenerationParams() = default; /** \details Sets a new temporary gs cache storage file name. \param file [in] A full path to the temporary gs cache storage file. */ void setGsCacheFile( const OdString& file ); /** \details Retrieves the current temporary gs cache storage file name. \returns The current temporary gs cache storage file name. */ const OdString& getGsCacheFile() const; /** \details Sets a new device rectangle that is used during the gs cache generation. \param rect [in] A new to be set. */ void setDCRect( const OdTvDCRect& rect ); /** \details Retrieves the current device rectangle that is used during the gs cache generation. \returns The current device rectangle object. */ const OdTvDCRect& getDCRect() const; /** \details Specifies the device type that will be used for GS cache generation. \param name [in] Type of the device that will be used for GS cache generation. */ void setDeviceType( OdTvGsDevice::Name name ); /** \details Retrieves the device type that will be used for GS cache generation. \returns The device type that will be used for GS cache generation. */ OdTvGsDevice::Name getDeviceType() const; /** \details Specifies maximum buffer size that can be used during .VSFX creation. \param nLimit [in] Maximum buffer size in bytes. */ void setCopyBufferLimit( OdUInt32 nLimit ); /** \details Retrieves maximum buffer size that can be used during .VSFX creation. \returns Maximum buffer size in bytes. */ OdUInt32 getCopyBufferLimit() const; /** \details Specifies number of objects that will be processed together during low memory GS cache generation. \param nPackSize [in] Number of objects to process during single iteration. \remarks The higher this value, the more RAM will be needed, but the operating time will decrease. */ void setObjectsPackSize( OdUInt32 nPackSize ); /** \details Retrieves number of objects that will be processed together during low memory GS cache generation. \returns Number of objects to process during single iteration. */ OdUInt32 getObjectsPackSize() const; //DOM-IGNORE-BEGIN private: OdString m_gsCacheFileName = OdString::kEmpty; OdTvDCRect m_rect = OdTvDCRect( 0, 1024, 768, 0 ); OdTvGsDevice::Name m_name = OdTvGsDevice::kOpenGLES2; OdUInt32 m_copyBufferLimit = 10 * 1024 * 1024; OdUInt32 m_objectsPackSize = 1000; //DOM-IGNORE-END }; class ODTV_EXPORT OdTvJtImportParams : public OdTvCustomBaseImportParams {}; /** \details This class implements the ODA Visualize SDK parameters for importing files using MCAD API. */ class ODTV_EXPORT OdTvMcadImportParams : public OdTvCustomBaseImportParams { /** \details Specific options for the MCAD import operation. */ enum ParamFlags { /* Draw alternative representations if it is available. */ kShowAlternativeRepresentation = 1, }; public: /** \details Creates a new set of MCAD import parameters with default values. */ OdTvMcadImportParams(); /** \details Destroys the set of MCAD import parameters. */ ~OdTvMcadImportParams() {} /** \details Sets a new value of the "import B-Rep as B-Rep" flag. \param bImportBrepAsBrep [in] A new flag value. */ void setShowAlternativeRepresentation(bool bImportBrepAsBrep); /** \details Checks whether the B-Rep objects should be loaded as B-Rep objects. \returns true if and only if B-Rep should be imported as B-Rep. */ bool getShowAlternativeRepresentation() const; /** \details Sets a new value of the length unit. \param type [in] A new length unit type. */ void setDocumentLengthUnitType(OdUInt8 type); /** \details Retrieves the current value of the length units type. \returns The current value of the length units type. */ OdUInt8 getDocumentLengthUnitType() const; /** \details Sets a new value of the length unit coefficient for user defined type. \param type [in] A new length unit coefficient for user defined type. */ void setDocumentLengthUnitCoef(double coef); /** \details Retrieves the current value of the length unit coefficient for user defined type. \returns The current value of the length unit coefficient for user defined type. */ double getDocumentLengthUnitCoef() const; /** \details Sets a new device rectangle that is used during the import operation. \param rect [in] A new to be set. \remarks If all components of the specified rectangle are equal to zero, the rectangle is not associated with the Visualize device. */ void setDCRect(const OdTvDCRect& rect); /** \details Retrieves the current device rectangle that is used during the import operation. \returns The current device rectangle object. \remarks If all components of the returned rectangle are equal to zero, the rectangle is not associated with the Visualize device. */ OdTvDCRect getDCRect() const; //DOM-IGNORE-BEGIN protected: OdUInt8 m_flags; // Different options. OdTvDCRect m_importRect; // Output rectangle. Used for correct import of some specific objects. The normal way to set the output window size. OdUInt8 m_lengthUnitsType; double m_lengthUnitsCoef; //DOM-IGNORE-END }; /** \details This class implements the ODA Visualize SDK parameters for appending file content through MCAD API. */ class ODTV_EXPORT OdTvMcadAppendParams : public OdTvMcadImportParams, public OdTvBaseAppendParams { public: /** \details Creates a new set of parameters with default values for appending files through MCAD API. */ OdTvMcadAppendParams() : OdTvMcadImportParams() {}; /** \details Destroys the set of parameters for appending files through MCAD API. */ virtual ~OdTvMcadAppendParams() {} }; /** \details This class stores and handles parameters for importing Inventor parts (.ipt) and Inventor assemblies (.iam), to Visualize SDK. */ class ODTV_EXPORT OdTvInvImportParams : public OdTvCustomBaseImportParams { /** \details Defines specific options for the inventor import operation. */ enum ParamFlags { /** Gives the names for the Visualize SDK entities according to the file object names (for example, AcDbCircle, etc).*/ kObjectNaming = 1, /** Stores source objects in the user data section of objects.*/ kStoreSource = 2, /** Clears empty objects.*/ kClearEmptyObjects = 4, /** Rearranges objects.*/ kRearrangeObjects = 8, /** Imports B-Rep as objects.*/ kImportBrepAsBrep = 16 }; public: /** \details Creates a new set of IPT import parameters with default values. */ OdTvInvImportParams(); /** \details Destroys the set of IPT import parameters. */ ~OdTvInvImportParams() {} /** \details Sets a new device rectangle that is used during the import operation. \param rect [in] A new rectangle object to be set. \remarks If all components of the rectangle are equal to zero, the rectangle is not associated with the Visualize device. */ void setDCRect(const OdTvDCRect& rect); /** \details Retrieves the current device rectangle that is used during the import operation. \returns The current device rectangle object. \remarks If all components of the rectangle are equal to zero, the rectangle is not associated with the Visualize device. */ OdTvDCRect getDCRect() const; /** \details Sets a new value of the "import B-Rep as B-Rep" flag. \param bImportBrepAsBrep [in] A new flag value. */ void setImportBrepAsBrep(bool bImportBrepAsBrep); /** \details Checks whether the B-Rep objects are loaded as B-Rep objects. \returns true if and only if B-Reps are imported as B-Reps; otherwise, the method returns false. */ bool getImportBrepAsBrep() const; /** \details Sets a new value of the facet resolution for B-Reps. \param dFacetRes [in] A new facet resolution value. \remarks The facet resolution value varies from 0.01 to 10.0. */ void setBrepFacetRes(double dFacetRes); /** \details Retrieves the current facet resolution value for B-Reps. \returns The current facet resolution value between 0.01 and 10.0. */ double getBrepFacetRes() const; //DOM-IGNORE-BEGIN protected: OdTvDCRect m_importRect; // Output rectangle. Used for correct import of some specific objects (camera, OLE images). The normal way to set the output window size. double m_dFACETRES; // Facet res value (between from 0.01 to 10.0). OdUInt8 m_flags; // Different options. //DOM-IGNORE-END }; /** \details This class stores and handles the set of parameters for appending IPT and IAM file content. */ class ODTV_EXPORT OdTvInvAppendParams : public OdTvInvImportParams, public OdTvBaseAppendParams { public: /** \details Creates a new set of parameters with default values for appending IPT and IAM files. */ OdTvInvAppendParams() : OdTvInvImportParams() {}; /** \details Destroys the set of parameters for appending IPT and IAM files. */ virtual ~OdTvInvAppendParams() {} }; /** \details This class stores and handles parameters for importing QIF (.qif) file content to Visualize SDK. */ class ODTV_EXPORT OdTvQifImportParams : public OdTvCustomBaseImportParams { /** \details Defines specific options for the QIF import operation. */ enum ParamFlags { /** Gives the names for the Visualize SDK entities according to the file object names (for example, AcDbCircle, etc).*/ kObjectNaming = 1, /** Stores source objects in the user data section of objects.*/ kStoreSource = 1 << 1, /** Clears empty objects.*/ kClearEmptyObjects = 1 << 2, /** Rearranges objects.*/ kRearrangeObjects = 1 << 3, /** Imports B-Rep as objects.*/ kImportBrepAsBrep = 1 << 4, /** Need CDA tree font special symbols (GD&T) conversion.*/ kNeedCDATreeFontSymbolsConversion = 1 << 5, /** For BodyType objects with shells assigned (Boundary Representation) additionally draw wireframe representation (edges).*/ kDrawWireframeOverShells = 1 << 6, /** Generate Pmi visualization from properties.*/ kGeneratePmiFromProperties = 1 << 7, /** Vectorize FeatureNominals entities.*/ kVectorizeFeatureNominals = 1 << 8, }; public: /** \details Creates a new set of QIF import parameters with default values. */ OdTvQifImportParams(); /** \details Destroys the set of QIF import parameters. */ ~OdTvQifImportParams() {} /** \details Sets a new device rectangle that is used during the import operation. \param rect [in] A new rectangle object to be set. \remarks If all components of the rectangle are equal to zero, the rectangle is not associated with the Visualize device. */ void setDCRect(const OdTvDCRect& rect); /** \details Retrieves the current device rectangle that is used during the import operation. \returns The current device rectangle object. \remarks If all components of the rectangle are equal to zero, the rectangle is not associated with the Visualize device. */ OdTvDCRect getDCRect() const; /** \details Sets a new value of the "import B-Rep as B-Rep" flag. \param bImportBrepAsBrep [in] A new flag value. */ void setImportBrepAsBrep(bool bImportBrepAsBrep); /** \details Checks whether the B-Rep objects are loaded as B-Rep objects. \returns true if and only if B-Reps are imported as B-Reps; otherwise, the method returns false. */ bool getImportBrepAsBrep() const; /** \details Sets a new value of the facet resolution for B-Reps. \param dFacetRes [in] A new facet resolution value. \remarks The facet resolution value varies from 0.01 to 10.0. */ void setBrepFacetRes(double dFacetRes); /** \details Retrieves the current facet resolution value for B-Reps. \returns The current facet resolution value between 0.01 and 10.0. */ double getBrepFacetRes() const; /** \details Sets a new value for CDA tree font special symbols conversion flag. \param bSet [in] A new conversion flag value. */ void setNeedCDATreeFontSymbolsConversion(bool bSet); /** \details Retrieves the current value for CDA tree font special symbols conversion flag. \returns true if special symbols conversion is needed for CDA Tree; otherwise returns false. */ bool getNeedCDATreeFontSymbolsConversion() const; /** \details Sets a new value for Draw wireframe over shells flag. \param bSet [in] A new conversion flag value. */ void setDrawWireframeOverShells(bool bSet); /** \details Retrieves the current value for Draw wireframe over shells flag. \returns true if wireframe representation for BodyType with shells assigned is needed; otherwise returns false. */ bool getDrawWireframeOverShells() const; /** \details Sets a new value for Pmi dimension generation flag. \param bSet [in] A new generation flag value. */ void setGeneratePmiFromProperties(bool bSet); /** \details Retrieves the current value for Pmi dimension generation flag. \returns true if Pmi dimension generates from properties; otherwise if generates from file representations returns false. */ bool getGeneratePmiFromProperties() const; /** \details Sets a new value for PMI dimension text scale. \param scale [in] A new scale. */ void setPmiTextScale(double scale); /** \details Retrieves the current value for PMI dimension text scale. \returns multiplier coefficient for Pmi dimensions text info. */ double getPmiTextScale() const; /** \details Sets a new value for vectorize FeatureNominals flag. \param bSet [in] A new vectorization flag value. */ void setVectorizeFeatureNominals(bool bSet); /** \details Retrieves the current value for vectorize FeatureNominals flag. \returns true if vectorization is on; otherwise returns false. */ bool getVectorizeFeatureNominals() const; /** \details Sets a new color for FeatureNominals entities. \param defcolor [in] A new vectorization color value. */ void setFeatureNominalsColor(ODCOLORREF defcolor); /** \details Retrieves the current color for FeatureNominals entities. \returns Vectorization color value. */ ODCOLORREF getFeatureNominalsColor() const; //DOM-IGNORE-BEGIN protected: OdTvDCRect m_importRect; // Output rectangle. Used for correct import of some specific objects (camera, OLE images). The normal way to set the output window size. double m_dFACETRES; // Facet res value (between from 0.01 to 10.0). OdUInt16 m_flags; // Different options. double m_pmiTextScale; // Pmi dimensions Text scale. ODCOLORREF m_featureNominalsColor; // Feature Nominals color. //DOM-IGNORE-END }; /** \details This class stores and handles the set of parameters for appending QIF file content. */ class ODTV_EXPORT OdTvQifAppendParams : public OdTvQifImportParams, public OdTvBaseAppendParams { public: /** \details Creates a new set of parameters with default values for appending QIF files. */ OdTvQifAppendParams() : OdTvQifImportParams() {}; /** \details Destroys the set of parameters for appending QIF files. */ virtual ~OdTvQifAppendParams() {} }; /** \details This class stores and handles parameters for importing IGES (.iges, .igs) file content to Visualize SDK. */ class ODTV_EXPORT OdTvIgesImportParams : public OdTvCustomBaseImportParams { /** \details Defines specific options for the IGES import operation. */ enum ParamFlags { /** Gives the names for the Visualize SDK entities according to the file object names (for example, AcDbCircle, etc).*/ kObjectNaming = 1, /** Stores source objects in the user data section of objects.*/ kStoreSource = 2, /** Clears empty objects.*/ kClearEmptyObjects = 4, /** Rearranges objects.*/ kRearrangeObjects = 8, /** Imports B-Rep as objects.*/ kImportBrepAsBrep = 16, /** Interpret IGES Surface of Revolution (Type 120) as NURB Surface */ kSurfaceOfRevolutionAsNurbSurface = 32 }; public: /** \details Creates a new set of IGES import parameters with default values. */ OdTvIgesImportParams(); /** \details Destroys the set of IGES import parameters. */ ~OdTvIgesImportParams() {} /** \details Sets a new device rectangle that is used during the import operation. \param rect [in] A new rectangle object to be set. \remarks If all components of the rectangle are equal to zero, the rectangle is not associated with the Visualize device. */ void setDCRect(const OdTvDCRect& rect); /** \details Retrieves the current device rectangle that is used during the import operation. \returns The current device rectangle object. \remarks If all components of the rectangle are equal to zero, the rectangle is not associated with the Visualize device. */ OdTvDCRect getDCRect() const; /** \details Sets a new value of the facet resolution for B-Reps. \param dFacetRes [in] A new facet resolution value. \remarks The facet resolution value varies from 0.01 to 10.0. */ void setBrepFacetRes(double dFacetRes); /** \details Retrieves the current facet resolution value for B-Reps. \returns The current facet resolution value between 0.01 and 10.0. */ double getBrepFacetRes() const; /** \details Sets a value which determines interpretation of IGES Surface Of Revolution (Type 120) as NURB Surface or as Revolved Surface. \param surfOfRevAsNurbs [in] Value which defines a way of Surface Of Revolution (Type 120) interpretation within ODA IGES SDK. */ void setSurfaceOfRevolutionAsNurbSurface(bool surfOfRevAsNurbs); /** \details Retrieves the current value that determines the way of IGES Surface Of Revolution (Type 120) interpretation within ODA IGES SDK. \returns true if IGES Surface Of Revolution (Type 120) is interpreted as OdGeNurbSurface, otherwise returns false. */ bool getSurfaceOfRevolutionAsNurbSurface() const; //DOM-IGNORE-BEGIN protected: OdTvDCRect m_importRect; // Output rectangle. Used for correct import of some specific objects (camera, OLE images). The normal way to set the output window size. double m_dFACETRES; // Facet res value (between from 0.01 to 10.0). OdUInt8 m_flags; // Different options. //DOM-IGNORE-END }; /** \details This class stores and handles the set of parameters for appending IGES file content. */ class ODTV_EXPORT OdTvIgesAppendParams : public OdTvIgesImportParams, public OdTvBaseAppendParams { public: /** \details Creates a new set of parameters with default values for appending IGES files. */ OdTvIgesAppendParams() : OdTvIgesImportParams() {}; /** \details Destroys the set of parameters for appending IGES files. */ virtual ~OdTvIgesAppendParams() {} }; #endif //_ODTV_IMPORT_H_INCLUDED_