struct MR_FaceBitSet MR_FaceBitSet
Definition MRAABBTreeBase.h:25
struct MR_UndirectedEdgeBitSet MR_UndirectedEdgeBitSet
Definition MRAABBTreeBase.h:29
struct MR_MeshPart MR_MeshPart
Definition MRAABBTree.h:14
struct MR_VisualObject MR_VisualObject
Definition MRAddVisualPropertiesMixin.h:21
struct MR_AnyVisualizeMaskEnum MR_AnyVisualizeMaskEnum
Definition MRAddVisualPropertiesMixin.h:12
struct MR_ViewportMask MR_ViewportMask
Definition MRAddVisualPropertiesMixin.h:20
struct MR_std_vector_MR_ViewportMask MR_std_vector_MR_ViewportMask
Definition MRAddVisualPropertiesMixin.h:22
struct MR_ObjectChildrenHolder MR_ObjectChildrenHolder
Definition MRAddVisualPropertiesMixin.h:18
struct MR_std_shared_ptr_MR_Object MR_std_shared_ptr_MR_Object
Definition MRAngleMeasurementObject.h:18
struct MR_VertMap MR_VertMap
Definition MRBitSet.h:41
struct MR_FaceMap MR_FaceMap
Definition MRBitSet.h:27
struct MR_FaceColors MR_FaceColors
Definition MRChangeColoringActions.h:14
struct MR_TexturePerFace MR_TexturePerFace
Definition MRChangeMeshAction.h:15
struct MR_Vector_MR_MeshTexture_MR_TextureId MR_Vector_MR_MeshTexture_MR_TextureId
Definition MRChangeMeshAction.h:16
struct MR_VertCoords2 MR_VertCoords2
Definition MRChangeMeshAction.h:18
struct MR_ObjectMeshData MR_ObjectMeshData
Definition MRChangeMeshDataAction.h:14
struct MR_VertColors MR_VertColors
Definition MRE57.h:16
struct MR_std_string MR_std_string
Definition MRE57.h:22
struct MR_ViewportProperty_MR_Color MR_ViewportProperty_MR_Color
Definition MRFeatureObject.h:33
struct MR_Object MR_Object
Definition MRGltf.h:10
struct MR_MeshTexture MR_MeshTexture
Definition MRImage.h:15
struct MR_ObjectMesh MR_ObjectMesh
Definition MRMeshBooleanFacade.h:14
struct MR_std_shared_ptr_const_MR_Mesh MR_std_shared_ptr_const_MR_Mesh
Definition MRMeshSaveObj.h:16
MRC_API void MR_ObjectMeshHolder_updateUVCoords(MR_ObjectMeshHolder *_this, MR_VertCoords2 *updated)
MRC_API void MR_ObjectMeshHolder_selectFaces(MR_ObjectMeshHolder *_this, MR_PassBy newSelection_pass_by, MR_FaceBitSet *newSelection)
MRC_API MR_ObjectMeshHolder * MR_ObjectMeshHolder_ConstructFromAnother(MR_PassBy _other_pass_by, MR_ObjectMeshHolder *_other)
MRC_API MR_ObjectDistanceMap * MR_ObjectMeshHolder_MutableDynamicDowncastTo_MR_ObjectDistanceMap(MR_ObjectMeshHolder *object)
MRC_API const MR_ObjectDistanceMap * MR_ObjectMeshHolder_DynamicDowncastTo_MR_ObjectDistanceMap(const MR_ObjectMeshHolder *object)
MRC_API void MR_ObjectMeshHolder_updateTextures(MR_ObjectMeshHolder *_this, MR_Vector_MR_MeshTexture_MR_TextureId *updated)
MRC_API double MR_ObjectMeshHolder_volume(const MR_ObjectMeshHolder *_this)
MRC_API const MR_VertCoords2 * MR_ObjectMeshHolder_getUVCoords(const MR_ObjectMeshHolder *_this)
MRC_API const char * MR_ObjectMeshHolder_serializeFormat(const MR_ObjectMeshHolder *_this)
MRC_API void MR_ObjectMeshHolder_setDirtyFlags(MR_ObjectMeshHolder *_this, uint32_t mask, const bool *invalidateCaches)
MRC_API const MR_ObjectVoxels * MR_ObjectMeshHolder_DynamicDowncastToOrFail_MR_ObjectVoxels(const MR_ObjectMeshHolder *object)
MRC_API const MR_VertColors * MR_ObjectMeshHolder_getVertsColorMap(const MR_ObjectMeshHolder *_this)
MRC_API const MR_TexturePerFace * MR_ObjectMeshHolder_getTexturePerFace(const MR_ObjectMeshHolder *_this)
MRC_API const MR_ViewportProperty_MR_Color * MR_ObjectMeshHolder_getSelectedEdgesColorsForAllViewports(const MR_ObjectMeshHolder *_this)
MRC_API const MR_Color * MR_ObjectMeshHolder_getBordersColor(const MR_ObjectMeshHolder *_this, const MR_ViewportId *id)
MRC_API const MR_ObjectMeshHolder * MR_ObjectMeshHolder_OffsetPtr(const MR_ObjectMeshHolder *ptr, ptrdiff_t i)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
MRC_API bool MR_ObjectMeshHolder_getRedrawFlag(const MR_ObjectMeshHolder *_this, const MR_ViewportMask *viewportMask)
MRC_API const MR_Color * MR_ObjectMeshHolder_getSelectedEdgesColor(const MR_ObjectMeshHolder *_this, const MR_ViewportId *id)
MRC_API void MR_ObjectMeshHolder_selectEdges(MR_ObjectMeshHolder *_this, MR_PassBy newSelection_pass_by, MR_UndirectedEdgeBitSet *newSelection)
MRC_API MR_std_shared_ptr_MR_Object * MR_ObjectMeshHolder_clone(const MR_ObjectMeshHolder *_this)
MRC_API void MR_ObjectMeshHolder_setFlatShading(MR_ObjectMeshHolder *_this, bool on)
MRC_API const MR_ObjectMesh * MR_ObjectMeshHolder_DynamicDowncastToOrFail_MR_ObjectMesh(const MR_ObjectMeshHolder *object)
MRC_API void MR_ObjectMeshHolder_updateAncillaryUVCoords(MR_ObjectMeshHolder *_this, MR_VertCoords2 *updated)
MRC_API void MR_ObjectMeshHolder_setEdgesColorsForAllViewports(MR_ObjectMeshHolder *_this, MR_PassBy val_pass_by, MR_ViewportProperty_MR_Color *val)
MRC_API void MR_ObjectMeshHolder_DestroyArray(const MR_ObjectMeshHolder *_this)
Destroys a heap-allocated array of MR_ObjectMeshHolder. Does nothing if the pointer is null.
MRC_API MR_Object * MR_ObjectMeshHolder_MutableUpcastTo_MR_Object(MR_ObjectMeshHolder *object)
Upcasts an instance of MR::ObjectMeshHolder to its base class MR::Object.
MRC_API void MR_ObjectMeshHolder_setSelectedEdgesColorsForAllViewports(MR_ObjectMeshHolder *_this, MR_PassBy val_pass_by, MR_ViewportProperty_MR_Color *val)
MRC_API MR_uint64_t MR_ObjectMeshHolder_numComponents(const MR_ObjectMeshHolder *_this)
MRC_API MR_uint64_t MR_ObjectMeshHolder_numHoles(const MR_ObjectMeshHolder *_this)
MRC_API void MR_ObjectMeshHolder_copyColors(MR_ObjectMeshHolder *_this, const MR_ObjectMeshHolder *src, const MR_VertMap *thisToSrc, const MR_FaceMap *thisToSrcFaces)
MRC_API MR_ObjectDistanceMap * MR_ObjectMeshHolder_MutableStaticDowncastTo_MR_ObjectDistanceMap(MR_ObjectMeshHolder *object)
MRC_API MR_ObjectVoxels * MR_ObjectMeshHolder_MutableDynamicDowncastToOrFail_MR_ObjectVoxels(MR_ObjectMeshHolder *object)
MRC_API bool MR_ObjectMeshHolder_isMeshClosed(const MR_ObjectMeshHolder *_this)
MRC_API const MR_UndirectedEdgeBitSet * MR_ObjectMeshHolder_getSelectedEdges(const MR_ObjectMeshHolder *_this)
MRC_API void MR_ObjectMeshHolder_setAncillaryTexture(MR_ObjectMeshHolder *_this, MR_PassBy texture_pass_by, MR_MeshTexture *texture)
MRC_API const char * MR_ObjectMeshHolder_typeName(const MR_ObjectMeshHolder *_this)
MRC_API const MR_ObjectVoxels * MR_ObjectMeshHolder_StaticDowncastTo_MR_ObjectVoxels(const MR_ObjectMeshHolder *object)
MRC_API MR_uint64_t MR_ObjectMeshHolder_heapBytes(const MR_ObjectMeshHolder *_this)
MRC_API const MR_ObjectMesh * MR_ObjectMeshHolder_DynamicDowncastTo_MR_ObjectMesh(const MR_ObjectMeshHolder *object)
MRC_API void MR_ObjectMeshHolder_setBordersColorsForAllViewports(MR_ObjectMeshHolder *_this, MR_PassBy val_pass_by, MR_ViewportProperty_MR_Color *val)
MRC_API void MR_ObjectMeshHolder_setSelectedFacesColor(MR_ObjectMeshHolder *_this, const MR_Color *color, const MR_ViewportId *id)
MRC_API void MR_ObjectMeshHolder_setCreases(MR_ObjectMeshHolder *_this, MR_PassBy creases_pass_by, MR_UndirectedEdgeBitSet *creases)
MRC_API const MR_ViewportMask * MR_ObjectMeshHolder_getVisualizePropertyMask(const MR_ObjectMeshHolder *_this, const MR_AnyVisualizeMaskEnum *type)
MRC_API MR_ObjectDistanceMap * MR_ObjectMeshHolder_MutableDynamicDowncastToOrFail_MR_ObjectDistanceMap(MR_ObjectMeshHolder *object)
MRC_API const MR_ObjectMesh * MR_ObjectMeshHolder_StaticDowncastTo_MR_ObjectMesh(const MR_ObjectMeshHolder *object)
MRC_API void MR_ObjectMeshHolder_setPointSize(MR_ObjectMeshHolder *_this, float size)
MRC_API const MR_ViewportProperty_MR_Color * MR_ObjectMeshHolder_getSelectedFacesColorsForAllViewports(const MR_ObjectMeshHolder *_this)
MRC_API void MR_ObjectMeshHolder_setPointsColor(MR_ObjectMeshHolder *_this, const MR_Color *color, const MR_ViewportId *id)
MRC_API MR_ObjectMeshHolder * MR_ObjectMeshHolder_AssignFromAnother(MR_ObjectMeshHolder *_this, MR_PassBy _other_pass_by, MR_ObjectMeshHolder *_other)
MRC_API void MR_ObjectMeshHolder_setTexturePerFace(MR_ObjectMeshHolder *_this, MR_PassBy texturePerFace_pass_by, MR_TexturePerFace *texturePerFace)
MRC_API const MR_ViewportProperty_MR_Color * MR_ObjectMeshHolder_getEdgesColorsForAllViewports(const MR_ObjectMeshHolder *_this)
MRC_API const MR_ObjectChildrenHolder * MR_ObjectMeshHolder_UpcastTo_MR_ObjectChildrenHolder(const MR_ObjectMeshHolder *object)
MRC_API const MR_Object * MR_ObjectMeshHolder_UpcastTo_MR_Object(const MR_ObjectMeshHolder *object)
MRC_API bool MR_ObjectMeshHolder_hasAncillaryTexture(const MR_ObjectMeshHolder *_this)
MRC_API const MR_Color * MR_ObjectMeshHolder_getPointsColor(const MR_ObjectMeshHolder *_this, const MR_ViewportId *id)
MRC_API const MR_Color * MR_ObjectMeshHolder_getEdgesColor(const MR_ObjectMeshHolder *_this, const MR_ViewportId *id)
MRC_API MR_ObjectMeshHolder * MR_ObjectMeshHolder_DefaultConstruct(void)
MRC_API MR_uint64_t MR_ObjectMeshHolder_numUndirectedEdges(const MR_ObjectMeshHolder *_this)
MRC_API const MR_Color * MR_ObjectMeshHolder_getSelectedFacesColor(const MR_ObjectMeshHolder *_this, const MR_ViewportId *id)
MRC_API void MR_ObjectMeshHolder_setSerializeFormat(MR_ObjectMeshHolder *_this, const char *newFormat)
MRC_API double MR_ObjectMeshHolder_selectedArea(const MR_ObjectMeshHolder *_this)
MRC_API const MR_VertCoords2 * MR_ObjectMeshHolder_getAncillaryUVCoords(const MR_ObjectMeshHolder *_this)
MRC_API MR_std_shared_ptr_MR_Object * MR_ObjectMeshHolder_shallowClone(const MR_ObjectMeshHolder *_this)
MRC_API float MR_ObjectMeshHolder_avgEdgeLen(const MR_ObjectMeshHolder *_this)
MRC_API MR_ObjectMesh * MR_ObjectMeshHolder_MutableStaticDowncastTo_MR_ObjectMesh(MR_ObjectMeshHolder *object)
MRC_API void MR_ObjectMeshHolder_setData(MR_ObjectMeshHolder *_this, MR_ObjectMeshData *data)
MRC_API const char * MR_ObjectMeshHolder_TypeName(void)
Generated from a method of class MR::ObjectMeshHolder named TypeName.
MRC_API MR_uint64_t MR_ObjectMeshHolder_numSelectedFaces(const MR_ObjectMeshHolder *_this)
MRC_API void MR_ObjectMeshHolder_updateTexturePerFace(MR_ObjectMeshHolder *_this, MR_TexturePerFace *texturePerFace)
MRC_API const MR_ObjectDistanceMap * MR_ObjectMeshHolder_StaticDowncastTo_MR_ObjectDistanceMap(const MR_ObjectMeshHolder *object)
MRC_API void MR_ObjectMeshHolder_addTexture(MR_ObjectMeshHolder *_this, MR_PassBy texture_pass_by, MR_MeshTexture *texture)
MRC_API MR_ObjectChildrenHolder * MR_ObjectMeshHolder_MutableUpcastTo_MR_ObjectChildrenHolder(MR_ObjectMeshHolder *object)
Upcasts an instance of MR::ObjectMeshHolder to its base class MR::ObjectChildrenHolder.
MRC_API MR_Box3f MR_ObjectMeshHolder_getWorldBox(const MR_ObjectMeshHolder *_this, const MR_ViewportId *_1)
MRC_API void MR_ObjectMeshHolder_applyScale(MR_ObjectMeshHolder *_this, float scaleFactor)
MRC_API bool MR_ObjectMeshHolder_hasModel(const MR_ObjectMeshHolder *_this)
MRC_API MR_ObjectMeshHolder * MR_ObjectMeshHolder_DefaultConstructArray(size_t num_elems)
MRC_API const MR_MeshTexture * MR_ObjectMeshHolder_getAncillaryTexture(const MR_ObjectMeshHolder *_this)
MRC_API const MR_std_string * MR_defaultSerializeMeshFormat(void)
MRC_API const MR_ObjectVoxels * MR_ObjectMeshHolder_DynamicDowncastTo_MR_ObjectVoxels(const MR_ObjectMeshHolder *object)
MRC_API const MR_FaceBitSet * MR_ObjectMeshHolder_getSelectedFaces(const MR_ObjectMeshHolder *_this)
MRC_API void MR_ObjectMeshHolder_resetColors(MR_ObjectMeshHolder *_this)
MRC_API bool MR_ObjectMeshHolder_hasVisualRepresentation(const MR_ObjectMeshHolder *_this)
MRC_API const MR_std_shared_ptr_const_MR_Mesh * MR_ObjectMeshHolder_mesh(const MR_ObjectMeshHolder *_this)
MRC_API void MR_ObjectMeshHolder_updateData(MR_ObjectMeshHolder *_this, MR_ObjectMeshData *data)
MRC_API void MR_ObjectMeshHolder_setAncillaryUVCoords(MR_ObjectMeshHolder *_this, MR_PassBy uvCoordinates_pass_by, MR_VertCoords2 *uvCoordinates)
MRC_API void MR_setDefaultSerializeMeshFormat(const char *newFormat, const char *newFormat_end)
MRC_API bool MR_ObjectMeshHolder_supportsVisualizeProperty(const MR_ObjectMeshHolder *_this, const MR_AnyVisualizeMaskEnum *type)
MRC_API const MR_Vector_MR_MeshTexture_MR_TextureId * MR_ObjectMeshHolder_getTextures(const MR_ObjectMeshHolder *_this)
MRC_API float MR_ObjectMeshHolder_getEdgeWidth(const MR_ObjectMeshHolder *_this)
MRC_API void MR_ObjectMeshHolder_setSelectedFacesColorsForAllViewports(MR_ObjectMeshHolder *_this, MR_PassBy val_pass_by, MR_ViewportProperty_MR_Color *val)
MRC_API void MR_ObjectMeshHolder_setSelectedEdgesColor(MR_ObjectMeshHolder *_this, const MR_Color *color, const MR_ViewportId *id)
MRC_API const MR_UndirectedEdgeBitSet * MR_ObjectMeshHolder_creases(const MR_ObjectMeshHolder *_this)
MRC_API MR_uint64_t MR_ObjectMeshHolder_numCreaseEdges(const MR_ObjectMeshHolder *_this)
MRC_API void MR_ObjectMeshHolder_updateFacesColorMap(MR_ObjectMeshHolder *_this, MR_FaceColors *updated)
MRC_API void MR_ObjectMeshHolder_setFacesColorMap(MR_ObjectMeshHolder *_this, MR_PassBy facesColorMap_pass_by, MR_FaceColors *facesColorMap)
MRC_API MR_uint64_t MR_ObjectMeshHolder_numHandles(const MR_ObjectMeshHolder *_this)
MRC_API const MR_ObjectMeshData * MR_ObjectMeshHolder_data(const MR_ObjectMeshHolder *_this)
MRC_API void MR_ObjectMeshHolder_setUVCoords(MR_ObjectMeshHolder *_this, MR_PassBy uvCoordinates_pass_by, MR_VertCoords2 *uvCoordinates)
MRC_API const MR_FaceColors * MR_ObjectMeshHolder_getFacesColorMap(const MR_ObjectMeshHolder *_this)
MRC_API MR_VisualObject * MR_ObjectMeshHolder_MutableUpcastTo_MR_VisualObject(MR_ObjectMeshHolder *object)
Upcasts an instance of MR::ObjectMeshHolder to its base class MR::VisualObject.
MRC_API MR_uint64_t MR_ObjectMeshHolder_numSelectedEdges(const MR_ObjectMeshHolder *_this)
MRC_API void MR_ObjectMeshHolder_updateVertsColorMap(MR_ObjectMeshHolder *_this, MR_VertColors *vertsColorMap)
MRC_API MR_MeshPart * MR_ObjectMeshHolder_meshPart(const MR_ObjectMeshHolder *_this)
MRC_API void MR_ObjectMeshHolder_Destroy(const MR_ObjectMeshHolder *_this)
Destroys a heap-allocated instance of MR_ObjectMeshHolder. Does nothing if the pointer is null.
MRC_API const MR_MeshTexture * MR_ObjectMeshHolder_getTexture(const MR_ObjectMeshHolder *_this)
MRC_API void MR_ObjectMeshHolder_setVertsColorMap(MR_ObjectMeshHolder *_this, MR_PassBy vertsColorMap_pass_by, MR_VertColors *vertsColorMap)
MRC_API MR_std_vector_MR_ViewportMask * MR_ObjectMeshHolder_getAllVisualizeProperties(const MR_ObjectMeshHolder *_this)
MRC_API MR_ObjectMeshHolder * MR_ObjectMeshHolder_OffsetMutablePtr(MR_ObjectMeshHolder *ptr, ptrdiff_t i)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
MRC_API MR_ObjectMesh * MR_ObjectMeshHolder_MutableDynamicDowncastToOrFail_MR_ObjectMesh(MR_ObjectMeshHolder *object)
MRC_API const MR_ObjectDistanceMap * MR_ObjectMeshHolder_DynamicDowncastToOrFail_MR_ObjectDistanceMap(const MR_ObjectMeshHolder *object)
MRC_API void MR_ObjectMeshHolder_setTextures(MR_ObjectMeshHolder *_this, MR_PassBy texture_pass_by, MR_Vector_MR_MeshTexture_MR_TextureId *texture)
MRC_API MR_ObjectVoxels * MR_ObjectMeshHolder_MutableDynamicDowncastTo_MR_ObjectVoxels(MR_ObjectMeshHolder *object)
MRC_API void MR_ObjectMeshHolder_setEdgeWidth(MR_ObjectMeshHolder *_this, float edgeWidth)
MRC_API const char * MR_ObjectMeshHolder_actualSerializeFormat(const MR_ObjectMeshHolder *_this)
MRC_API void MR_ObjectMeshHolder_clearAncillaryTexture(MR_ObjectMeshHolder *_this)
MRC_API MR_ObjectVoxels * MR_ObjectMeshHolder_MutableStaticDowncastTo_MR_ObjectVoxels(MR_ObjectMeshHolder *object)
MRC_API void MR_ObjectMeshHolder_resetFrontColor(MR_ObjectMeshHolder *_this)
int32_t MR_MeshVisualizePropertyType
Definition MRObjectMeshHolder.h:44
MRC_API float MR_ObjectMeshHolder_getPointSize(const MR_ObjectMeshHolder *_this)
MRC_API const MR_ViewportProperty_MR_Color * MR_ObjectMeshHolder_getBordersColorsForAllViewports(const MR_ObjectMeshHolder *_this)
MRC_API void MR_ObjectMeshHolder_copyTextureAndColors(MR_ObjectMeshHolder *_this, const MR_ObjectMeshHolder *src, const MR_VertMap *thisToSrc, const MR_FaceMap *thisToSrcFaces)
MRC_API double MR_ObjectMeshHolder_totalArea(const MR_ObjectMeshHolder *_this)
MRC_API const MR_VisualObject * MR_ObjectMeshHolder_UpcastTo_MR_VisualObject(const MR_ObjectMeshHolder *object)
MRC_API MR_ObjectMesh * MR_ObjectMeshHolder_MutableDynamicDowncastTo_MR_ObjectMesh(MR_ObjectMeshHolder *object)
MRC_API uint32_t MR_ObjectMeshHolder_getNeededNormalsRenderDirtyValue(const MR_ObjectMeshHolder *_this, const MR_ViewportMask *viewportMask)
MRC_API void MR_ObjectMeshHolder_setBordersColor(MR_ObjectMeshHolder *_this, const MR_Color *color, const MR_ViewportId *id)
MRC_API void MR_ObjectMeshHolder_setEdgesColor(MR_ObjectMeshHolder *_this, const MR_Color *color, const MR_ViewportId *id)
@ MR_MeshVisualizePropertyType_OnlyOddFragments
Definition MRObjectMeshHolder.h:55
@ MR_MeshVisualizePropertyType_Edges
Definition MRObjectMeshHolder.h:49
@ MR_MeshVisualizePropertyType_SelectedFaces
Definition MRObjectMeshHolder.h:51
@ MR_MeshVisualizePropertyType_BordersHighlight
Definition MRObjectMeshHolder.h:56
@ MR_MeshVisualizePropertyType_Faces
Definition MRObjectMeshHolder.h:47
@ MR_MeshVisualizePropertyType_SelectedEdges
Definition MRObjectMeshHolder.h:52
@ MR_MeshVisualizePropertyType__count
Definition MRObjectMeshHolder.h:59
@ MR_MeshVisualizePropertyType_EnableShading
Definition MRObjectMeshHolder.h:53
@ MR_MeshVisualizePropertyType_Texture
Definition MRObjectMeshHolder.h:48
@ MR_MeshVisualizePropertyType_PolygonOffsetFromCamera
Definition MRObjectMeshHolder.h:58
@ MR_MeshVisualizePropertyType_Points
Definition MRObjectMeshHolder.h:50
@ MR_MeshVisualizePropertyType_FlatShading
Definition MRObjectMeshHolder.h:54
MRC_API bool MR_ObjectMeshHolder_flatShading(const MR_ObjectMeshHolder *_this)
struct MR_ObjectMeshHolder MR_ObjectMeshHolder
Definition MRObject.h:33
struct MR_ObjectVoxels MR_ObjectVoxels
Definition MRObject.h:36
struct MR_ObjectDistanceMap MR_ObjectDistanceMap
Definition MRObject.h:27
MR_PassBy
Definition common.h:19
uint64_t MR_uint64_t
Definition common.h:14
#define MRC_API
Definition exports.h:11
Generated from class MR::Color.
Definition MRColor.h:19
Definition MRViewportId.h:18