# Store

## Namespaces

| Utils

## Types

| AssemblyTree
| BaseMesh
| BBox
| Cache
| Camera
| ClipRegionKey
| ClipSubRegion
| Color
| Database
| DataKey
| DMatrix3d
| DPoint
| DVector
| EntityFilterItemData
| Exception
| FilterData
| Gray8
| GrayAlpha16
| GroupKey
| IdHasher
| ImageKey
| InclusionKey
| InstanceKey
| KeyHasher
| KeyHasher< uint32_t >
| LayerData
| LayerFilterItemData
| LinePattern
| LinePatternKey
| Logger
| Material
| MaterialData
| MaterialKey
| MaterialMapElement
| MaterialMapKey
| MaterialProperties
| Matrix3d
| MatrixKey
| MemoryDevice
| MemoryDeviceFile
| Mesh
| MeshElement
| MeshKey
| Model
| ModelKey
| Modifiers
| Normal
| PBRMaterial
| Plane
| Point
| PolyPolygonKey
| RefOnTopoItem
| RelationshipData
| RelationshipElement
| RGB24
| RGBA32
| StyleData
| Texture
| UnitData
| UV
| Vector
| VectorCulling
| ViewKey
| Visibility
| `CompressionStrategy`
uint32_t | `ImageFormat`
uint8_t | `BodyType`
uint32_t | `PMIType`
uint32_t | `PMISubType`
uint8_t | `PMITopoRef`
uint8_t | `SelectionBits`
uint32_t | `RelationshipType`

## Type Aliases

std::pair< ModelKey , DataKey > | `DataId`
std::vector< `DataId` > | `DataIds`
std::vector< DataKey > | `DataKeys`
std::pair< ModelKey , PolyPolygonKey > | `PolyPolygonId`
std::vector< `PolyPolygonId` > | `PolyPolygonIds`
std::vector< PolyPolygonKey > | `PolyPolygonKeys`
std::pair< ModelKey , ClipRegionKey > | `ClipRegionId`
std::vector< `ClipRegionId` > | `ClipRegionIds`
std::vector< ClipRegionKey > | `ClipRegionKeys`
std::pair< ModelKey , ImageKey > | `ImageId`
std::vector< `ImageId` > | `ImageIds`
std::vector< ImageKey > | `ImageKeys`
std::pair< ModelKey , MeshKey > | `MeshId`
std::vector< `MeshId` > | `MeshIds`
std::vector< MeshKey > | `MeshKeys`
std::pair< ModelKey , MaterialKey > | `MaterialId`
std::vector< `MaterialId` > | `MaterialIds`
std::vector< MaterialKey > | `MaterialKeys`
std::pair< ModelKey , LinePatternKey > | `LinePatternId`
std::vector< `LinePatternId` > | `LinePatternIds`
std::vector< LinePatternKey > | `LinePatternKeys`
std::pair< ModelKey , MatrixKey > | `MatrixId`
std::vector< `MatrixId` > | `MatrixIds`
std::vector< MatrixKey > | `MatrixKeys`
std::vector< InclusionKey > | `InclusionKeys`
std::pair< InclusionKey , InstanceKey > | `InstanceInc`
std::vector< `InstanceInc` > | `InstanceIncs`
std::pair< ModelKey , InstanceKey > | `InstanceId`
std::vector< `InstanceId` > | `InstanceIds`
std::vector< InstanceKey > | `InstanceKeys`
std::pair< InclusionKey , GroupKey > | `GroupInc`
std::vector< `GroupInc` > | `GroupIncs`
std::pair< ModelKey , GroupKey > | `GroupId`
std::vector< `GroupId` > | `GroupIds`
std::vector< GroupKey > | `GroupKeys`
std::pair< ModelKey , MaterialMapKey > | `MaterialMapId`
std::vector< `MaterialMapId` > | `MaterialMapIds`
std::vector< MaterialMapKey > | `MaterialMapKeys`
std::vector< MaterialMapElement > | `MaterialMapElements`
std::vector< ClipSubRegion > | `ClipSubRegions`
uint32_t | `NodeId`
uint32_t | `LayerId`
uint32_t | `GenericTypeKey`
uint64_t | `UserDataIndex`
uint32_t | `FileType`

## Fields

| `Fast`
| `Default`
| `Strong`
| `PNG`
| `JPEG`
| `BMP`
| `BodyTypeNotSet`
| `BRep`
| `Tessellation`
| `Wireframe`
| `PointCloud`
| `TypeUnknown`
| `Text`
| `Dimension`
| `Arrow`
| `Balloon`
| `CircleCenter`
| `Coordinate`
| `Datum`
| `Fastener`
| `Gdt`
| `Locator`
| `MeasurementPoint`
| `Roughness`
| `Welding`
| `Table`
| `Other`
| `GeometricalTolerance`
| `SubTypeUnknown`
| `DatumIdent`
| `DatumTarget`
| `DimensionDistance`
| `DimensionDistanceOffset`
| `DimensionDistanceCumulate`
| `DimensionChamfer`
| `DimensionSlope`
| `DimensionOrdinate`
| `DimensionRadius`
| `DimensionRadiusTangent`
| `DimensionRadiusCylinder`
| `DimensionRadiusEdge`
| `DimensionDiameter`
| `DimensionDiameterTangent`
| `DimensionDiameterCylinder`
| `DimensionDiameterEdge`
| `DimensionDiameterCone`
| `DimensionLength`
| `DimensionLengthCurvilinear`
| `DimensionLengthCircular`
| `DimensionAngle`
| `GdtFcf`
| `WeldingLine`
| `WeldingSpot`
| `OtherSymbolUser`
| `OtherSymbolUtility`
| `OtherSymbolCustom`
| `OtherGeometricReference`
| `OtherRegion`
| `Context`
| `Item`
| `MultipleVertex`
| `UniqueVertex`
| `WireEdge`
| `Edge`
| `CoEdge`
| `Loop`
| `Face`
| `Shell`
| `Connex`
| `Body`
| `SingleWireBody`
| `BrepData`
| `WireBody`
| `SelectionBitsFaceHasMeasurementData`
| `SelectionBitsFacePlanar`
| `SelectionBitsEdgeHasMeasurementData`
| `ContainedInSpatialStructure`
| `Aggregates`
| `VoidsElement`
| `FillsElement`
| `SpaceBoundary`
| `ConnectsPathElements`

## Detailed Description

namespace Store

## Type Documentation

enum class SC::Store::CompressionStrategy

  An enumeration of usable compression stratagies.

  Values:

  enumerator Fast
  enumerator Default
  enumerator Strong

enum class SC::Store::ImageFormat : uint32_t

  The ImageFormat enum class is used to define an ImageKey from the byte data of an image file.

  Values:

  enumerator PNG
  enumerator JPEG
  enumerator BMP

    The 1 bit and RLE formats are not supported.

enum SC::Store::BodyType

  Body type

  Values:

  enumerator BodyTypeNotSet

    Not defined.

  enumerator BRep

    Body comes from a brep.

  enumerator Tessellation

    Body comes from a tessellated model.

  enumerator Wireframe

    Body comes from a wireframed model.

  enumerator PointCloud

    Body comes from a point cloud.

enum SC::Store::PMIType

  PMI type

  Values:

  enumerator TypeUnknown

    Unknown value.

  enumerator Text

    Plain text.

  enumerator Dimension

    Dimension.

  enumerator Arrow

    Arrow.

  enumerator Balloon

    Balloon.

  enumerator CircleCenter

    Center of circle.

  enumerator Coordinate

    Coordinate.

  enumerator Datum

    Datum.

  enumerator Fastener

    Fastener.

  enumerator Gdt

    GD&T.

  enumerator Locator

    Locator.

  enumerator MeasurementPoint

    Point.

  enumerator Roughness

    Roughness.

  enumerator Welding

    Welding.

  enumerator Table

    Table.

  enumerator Other

    Other.

  enumerator GeometricalTolerance

    Geometrical tolerance.

enum SC::Store::PMISubType

  PMI subtype

  Values:

  enumerator SubTypeUnknown
  enumerator DatumIdent

    Datum subtype.

  enumerator DatumTarget

    Datum subtype.

  enumerator DimensionDistance

    Dimension distance subtype.

  enumerator DimensionDistanceOffset

    Dimension distance subtype.

  enumerator DimensionDistanceCumulate

    Dimension distance subtype.

  enumerator DimensionChamfer

    Dimension chamfer subtype.

  enumerator DimensionSlope

    Dimension slope subtype.

  enumerator DimensionOrdinate

    Dimension ordinate subtype.

  enumerator DimensionRadius

    Dimension radius subtype.

  enumerator DimensionRadiusTangent

    Dimension radius subtype.

  enumerator DimensionRadiusCylinder

    Dimension radius subtype.

  enumerator DimensionRadiusEdge

    Dimension radius subtype.

  enumerator DimensionDiameter

    Dimension diameter subtype.

  enumerator DimensionDiameterTangent

    Dimension diameter subtype.

  enumerator DimensionDiameterCylinder

    Dimension diameter subtype.

  enumerator DimensionDiameterEdge

    Dimension diameter subtype.

  enumerator DimensionDiameterCone

    Dimension diameter subtype.

  enumerator DimensionLength

    Dimension length subtype.

  enumerator DimensionLengthCurvilinear

    Dimension length subtype.

  enumerator DimensionLengthCircular

    Dimension length subtype.

  enumerator DimensionAngle

    Dimension angle subtype.

  enumerator GdtFcf

    GD&T Feature control frame subtype.

  enumerator WeldingLine

    Line welding subtype.

  enumerator WeldingSpot

    Spot welding subtype.

  enumerator OtherSymbolUser

    User symbol, other subtype.

  enumerator OtherSymbolUtility

    Utility symbol, other subtype.

  enumerator OtherSymbolCustom

    Custom symbol, other subtype.

  enumerator OtherGeometricReference

    Geometric reference, other subtype.

  enumerator OtherRegion

    Region symbol, other subtype.

enum SC::Store::PMITopoRef

  PMI reference to topology (brep)

  Values:

  enumerator Context

    Self-containing set of topological entities.

  enumerator Item

    Abstract root type for any topological entity (body or single item)

  enumerator MultipleVertex

    Vertex whose position is the average of all edges’ extremity positions to whom it belongs

  enumerator UniqueVertex

    Vertex with one set of coordinates (absolute position)

  enumerator WireEdge

    Edge belonging to a wire body.

  enumerator Edge

    Edge belonging to a BrepData body.

  enumerator CoEdge

    Usage of an edge in a loop.

  enumerator Loop

    Array of co-edges that delimit a face.

  enumerator Face

    Topological face delimiting a shell.

  enumerator Shell

    Topological shell (open or closed)

  enumerator Connex

    Topological region.

  enumerator Body

    Abstract root type for any topological body.

  enumerator SingleWireBody

    Single wire body.

  enumerator BrepData

    Main entry to non-wire topology.

  enumerator WireBody

    Main entry to wire topology.

enum SC::Store::SelectionBits

  Bits assignable to Mesh’s face_elements_bits / polyline_elements_bits / point_elements_bits

  Values:

  enumerator SelectionBitsFaceHasMeasurementData
  enumerator SelectionBitsFacePlanar
  enumerator SelectionBitsEdgeHasMeasurementData

enum class SC::Store::RelationshipType : uint32_t

  Values:

  enumerator ContainedInSpatialStructure
  enumerator Aggregates
  enumerator VoidsElement
  enumerator FillsElement
  enumerator SpaceBoundary
  enumerator ConnectsPathElements

## Type Alias Documentation

typedef std::pair<ModelKey, DataKey> SC::Store::DataId

  This is an ID that is completely unique throughout an entire cache.

typedef std::vector<DataId> SC::Store::DataIds

  A std::vector of DataId.

typedef std::vector<DataKey> SC::Store::DataKeys

  A std::vector of DataKey.

typedef std::pair<ModelKey, PolyPolygonKey> SC::Store::PolyPolygonId

  This is an ID that is completely unique throughout an entire cache.

typedef std::vector<PolyPolygonId> SC::Store::PolyPolygonIds

  A std::vector of PolyPolygonId.

typedef std::vector<PolyPolygonKey> SC::Store::PolyPolygonKeys

  A std::vector of PolyPolygonKey.

typedef std::pair<ModelKey, ClipRegionKey> SC::Store::ClipRegionId

  This is an ID that is completely unique throughout an entire cache.

typedef std::vector<ClipRegionId> SC::Store::ClipRegionIds

  A std::vector of ClipRegionId.

typedef std::vector<ClipRegionKey> SC::Store::ClipRegionKeys

  A std::vector of ClipRegionKey.

typedef std::pair<ModelKey, ImageKey> SC::Store::ImageId

  This is an ID that is completely unique throughout an entire cache.

typedef std::vector<ImageId> SC::Store::ImageIds

  A std::vector of ImageId.

typedef std::vector<ImageKey> SC::Store::ImageKeys

  A std::vector of ImageKey.

typedef std::pair<ModelKey, MeshKey> SC::Store::MeshId

  This is an ID that is completely unique throughout an entire cache.

typedef std::vector<MeshId> SC::Store::MeshIds

  A std::vector of MeshId.

typedef std::vector<MeshKey> SC::Store::MeshKeys

  A std::vector of MeshKey.

typedef std::pair<ModelKey, MaterialKey> SC::Store::MaterialId

  This is an ID that is completely unique throughout an entire cache.

typedef std::vector<MaterialId> SC::Store::MaterialIds

  A std::vector of MaterialId.

typedef std::vector<MaterialKey> SC::Store::MaterialKeys

  A std::vector of MaterialKey.

typedef std::pair<ModelKey, LinePatternKey> SC::Store::LinePatternId

  This is an ID that is completely unique throughout an entire cache.

typedef std::vector<LinePatternId> SC::Store::LinePatternIds

  A std::vector of LinePatternId.

typedef std::vector<LinePatternKey> SC::Store::LinePatternKeys

  A std::vector of LinePatternKey.

typedef std::pair<ModelKey, MatrixKey> SC::Store::MatrixId

  This is an ID that is completely unique throughout an entire cache.

typedef std::vector<MatrixId> SC::Store::MatrixIds

  A std::vector of MatrixId.

typedef std::vector<MatrixKey> SC::Store::MatrixKeys

  A std::vector of MatrixKey.

typedef std::vector<InclusionKey> SC::Store::InclusionKeys

  A std::vector of InclusionKey.

typedef std::pair<InclusionKey, InstanceKey> SC::Store::InstanceInc

  This is an instance through a specific include.

typedef std::vector<InstanceInc> SC::Store::InstanceIncs

  A std::vector of InstanceInc.

typedef std::pair<ModelKey, InstanceKey> SC::Store::InstanceId

  This is an ID that is completely unique throughout an entire cache.

typedef std::vector<InstanceId> SC::Store::InstanceIds

  A std::vector of InstanceId.

typedef std::vector<InstanceKey> SC::Store::InstanceKeys

  A std::vector of InstanceKey.

typedef std::pair<InclusionKey, GroupKey> SC::Store::GroupInc

  This is an instance through a specific include.

typedef std::vector<GroupInc> SC::Store::GroupIncs

  A std::vector of GroupInc.

typedef std::pair<ModelKey, GroupKey> SC::Store::GroupId

  This is an ID that is completely unique throughout an entire cache.

typedef std::vector<GroupId> SC::Store::GroupIds

  A std::vector of MeshId.

typedef std::vector<GroupKey> SC::Store::GroupKeys

  A std::vector of GroupKey.

typedef std::pair<ModelKey, MaterialMapKey> SC::Store::MaterialMapId

  This is an ID that is completely unique throughout an entire cache.

typedef std::vector<MaterialMapId> SC::Store::MaterialMapIds

  A std::vector of MaterialMapId.

typedef std::vector<MaterialMapKey> SC::Store::MaterialMapKeys

  A std::vector of MaterialMapKey.

typedef std::vector<MaterialMapElement> SC::Store::MaterialMapElements

  A std::vector of MaterialMapElement.

typedef std::vector<ClipSubRegion> SC::Store::ClipSubRegions

  A std::vector of ClipSubRegion.

using SC::Store::NodeId = uint32_t

  NodeId type

using SC::Store::LayerId = uint32_t

  LayerId type

using SC::Store::GenericTypeKey = uint32_t

  GenericTypeKey type

using SC::Store::UserDataIndex = uint64_t

  UserDataIndex type

using SC::Store::FileType = uint32_t