Skip to main content

ICkModelGraph

Namespace: Meshmakers.Octo.ConstructionKit.Contracts.DependencyGraph

Interface for a construction kit model graph.

public interface ICkModelGraph

Properties​

Types​

Returns the types of the graph.

public abstract IReadOnlyDictionary<CkId<CkTypeId>, CkTypeGraph> Types { get; }

Property Value​

IReadOnlyDictionary<CkId<CkTypeId>, CkTypeGraph>

Attributes​

Returns the attributes of the graph.

public abstract IReadOnlyDictionary<CkId<CkAttributeId>, CkAttributeGraph> Attributes { get; }

Property Value​

IReadOnlyDictionary<CkId<CkAttributeId>, CkAttributeGraph>

AssociationRoles​

Returns the association roles of the graph.

public abstract IReadOnlyDictionary<CkId<CkAssociationRoleId>, CkAssociationRoleGraph> AssociationRoles { get; }

Property Value​

IReadOnlyDictionary<CkId<CkAssociationRoleId>, CkAssociationRoleGraph>

Records​

Returns the records of the graph.

public abstract IReadOnlyDictionary<CkId<CkRecordId>, CkRecordGraph> Records { get; }

Property Value​

IReadOnlyDictionary<CkId<CkRecordId>, CkRecordGraph>

Enums​

Returns the enums of the graph.

public abstract IReadOnlyDictionary<CkId<CkEnumId>, CkEnumGraph> Enums { get; }

Property Value​

IReadOnlyDictionary<CkId<CkEnumId>, CkEnumGraph>

TypesByRtCk​

Returns the types of the graph indexed by their runtime construction kit ids.

public abstract IReadOnlyDictionary<RtCkId<CkTypeId>, CkTypeGraph> TypesByRtCk { get; }

Property Value​

IReadOnlyDictionary<RtCkId<CkTypeId>, CkTypeGraph>

AttributesByRtCk​

Returns the attributes of the graph indexed by their runtime construction kit ids.

public abstract IReadOnlyDictionary<RtCkId<CkAttributeId>, CkAttributeGraph> AttributesByRtCk { get; }

Property Value​

IReadOnlyDictionary<RtCkId<CkAttributeId>, CkAttributeGraph>

AssociationRolesByRtCk​

Returns the association roles of the graph indexed by their runtime construction kit ids.

public abstract IReadOnlyDictionary<RtCkId<CkAssociationRoleId>, CkAssociationRoleGraph> AssociationRolesByRtCk { get; }

Property Value​

IReadOnlyDictionary<RtCkId<CkAssociationRoleId>, CkAssociationRoleGraph>

RecordsByRtCk​

Returns the records of the graph indexed by their runtime construction kit ids.

public abstract IReadOnlyDictionary<RtCkId<CkRecordId>, CkRecordGraph> RecordsByRtCk { get; }

Property Value​

IReadOnlyDictionary<RtCkId<CkRecordId>, CkRecordGraph>

EnumsByRtCk​

Returns the enums of the graph indexed by their runtime construction kit ids.

public abstract IReadOnlyDictionary<RtCkId<CkEnumId>, CkEnumGraph> EnumsByRtCk { get; }

Property Value​

IReadOnlyDictionary<RtCkId<CkEnumId>, CkEnumGraph>

Dependencies​

Returns a list of model dependencies.

public abstract IReadOnlyDictionary<CkModelId, ICollection<CkModelId>> Dependencies { get; }

Property Value​

IReadOnlyDictionary<CkModelId, ICollection<CkModelId>>

Models​

Returns a list of model dependencies.

public abstract IReadOnlyDictionary<CkModelId, CkModelPropertiesDto> Models { get; }

Property Value​

IReadOnlyDictionary<CkModelId, CkModelPropertiesDto>

Methods​

ToCkCacheRoot()​

Returns the root object of the compiled version of a CK model.

CkCacheRoot ToCkCacheRoot()

Returns​

CkCacheRoot

GetOrCreateAttribute(CkId<CkAttributeId>, CkAttributeDto)​

Gets or creates a new attribute.

CkAttributeGraph GetOrCreateAttribute(CkId<CkAttributeId> ckAttributeId, CkAttributeDto ckAttributeDto)

Parameters​

ckAttributeId CkId<CkAttributeId>

ckAttributeDto CkAttributeDto

Returns​

CkAttributeGraph

GetOrCreateType(CkId<CkTypeId>, CkCompiledTypeDto)​

Gets or creates a new type.

CkTypeGraph GetOrCreateType(CkId<CkTypeId> ckTypeId, CkCompiledTypeDto ckTypeDto)

Parameters​

ckTypeId CkId<CkTypeId>

ckTypeDto CkCompiledTypeDto

Returns​

CkTypeGraph

GetOrCreateAssociationRole(CkId<CkAssociationRoleId>, CkAssociationRoleDto)​

Gets or creates a new association role.

CkAssociationRoleGraph GetOrCreateAssociationRole(CkId<CkAssociationRoleId> ckAssociationId, CkAssociationRoleDto ckAssociationRole)

Parameters​

ckAssociationId CkId<CkAssociationRoleId>

ckAssociationRole CkAssociationRoleDto

Returns​

CkAssociationRoleGraph

GetOrCreateRecord(CkId<CkRecordId>, CkRecordDto)​

Gets or creates a new record.

CkRecordGraph GetOrCreateRecord(CkId<CkRecordId> ckRecordId, CkRecordDto ckRecordDto)

Parameters​

ckRecordId CkId<CkRecordId>

ckRecordDto CkRecordDto

Returns​

CkRecordGraph

GetOrCreateEnum(CkId<CkEnumId>, CkEnumDto)​

Gets or creates a new enum.

CkEnumGraph GetOrCreateEnum(CkId<CkEnumId> ckEnumId, CkEnumDto ckEnumDto)

Parameters​

ckEnumId CkId<CkEnumId>

ckEnumDto CkEnumDto

Returns​

CkEnumGraph

GetOrCreateModel(CkModelId, String)​

Gets or creates a new model.

CkModelPropertiesDto GetOrCreateModel(CkModelId ckModelId, string description)

Parameters​

ckModelId CkModelId

description String

Returns​

CkModelPropertiesDto

AppendModel(CkCompiledModelRoot)​

Appends the model elements of the given ckCompiledModelRoot to this instance.

void AppendModel(CkCompiledModelRoot ckCompiledModelRoot)

Parameters​

ckCompiledModelRoot CkCompiledModelRoot
The compiled model root to append

GetTypes()​

Gets all Types of a given ckModelGraph

IEnumerable<CkTypeGraph> GetTypes()

Returns​

IEnumerable<CkTypeGraph>

GetAttributes()​

Gets all Attributes of a given ckModelGraph

IEnumerable<CkAttributeGraph> GetAttributes()

Returns​

IEnumerable<CkAttributeGraph>

GetEnums()​

Gets all Enums of a given ckModelGraph

IEnumerable<CkEnumGraph> GetEnums()

Returns​

IEnumerable<CkEnumGraph>

GetRecords()​

Gets all Records of a given ckModelGraph

IEnumerable<CkRecordGraph> GetRecords()

Returns​

IEnumerable<CkRecordGraph>

GetAssociationRoles()​

Gets all AssociationRoles of a given ckModelGraph

IEnumerable<CkAssociationRoleGraph> GetAssociationRoles()

Returns​

IEnumerable<CkAssociationRoleGraph>

GetCkTypeQueryColumnPaths(CkId<CkTypeId>, CkTypeQueryColumnOptions)​

Returns a list of all query column attribute paths for the given construction kit type

IReadOnlyCollection<CkTypeQueryColumn> GetCkTypeQueryColumnPaths(CkId<CkTypeId> ckTypeId, CkTypeQueryColumnOptions options)

Parameters​

ckTypeId CkId<CkTypeId>

options CkTypeQueryColumnOptions

Returns​

IReadOnlyCollection<CkTypeQueryColumn>

GetCkTypeQueryColumnPathsByRtCkId(RtCkId<CkTypeId>, CkTypeQueryColumnOptions)​

Returns a list of all query column attribute paths for the given runtime construction kit type

IReadOnlyCollection<CkTypeQueryColumn> GetCkTypeQueryColumnPathsByRtCkId(RtCkId<CkTypeId> rtCkTypeId, CkTypeQueryColumnOptions options)

Parameters​

rtCkTypeId RtCkId<CkTypeId>

options CkTypeQueryColumnOptions

Returns​

IReadOnlyCollection<CkTypeQueryColumn>