CFx SDK Documentation
2023 SP0
SDK
CFx
dd_inc
ModelerMarkers.h
Go to the documentation of this file.
1
// Copyright (C) 2002-2017, Open Design Alliance (the "Alliance").
3
// All rights reserved.
4
//
5
// This software and its documentation and related materials are owned by
6
// the Alliance. The software may only be incorporated into application
7
// programs owned by members of the Alliance, subject to a signed
8
// Membership Agreement and Supplemental Software License Agreement with the
9
// Alliance. The structure and organization of this software are the valuable
10
// trade secrets of the Alliance and its suppliers. The software is also
11
// protected by copyright law and international treaty provisions. Application
12
// programs incorporating this software must include the following statement
13
// with their copyright notices:
14
//
15
// This application incorporates Teigha(R) software pursuant to a license
16
// agreement with Open Design Alliance.
17
// Teigha(R) Copyright (C) 2002-2017 by Open Design Alliance.
18
// All rights reserved.
19
//
20
// By use of this software, its documentation or related materials, you
21
// acknowledge and accept the above terms.
23
24
#ifndef MODELERMARKERS_H
25
#define MODELERMARKERS_H
27
#define kSubentTypeStep 4
28
#define kFirstFaceMarker (OdDb::kFaceSubentType + kSubentTypeStep)
29
#define kFirstEdgeMarker (OdDb::kEdgeSubentType + kSubentTypeStep)
30
#define kFirstVertexMarker (OdDb::kVertexSubentType + kSubentTypeStep)
31
32
#define getFaceIndex(gsMarker) (((gsMarker) - OdDb::kFaceSubentType) / kSubentTypeStep)
33
#define getEdgeIndex(gsMarker) (((gsMarker) - OdDb::kEdgeSubentType) / kSubentTypeStep)
34
#define getVertexIndex(gsMarker) (((gsMarker) - OdDb::kVertexSubentType) / kSubentTypeStep)
35
36
#define getTypedIndex(gsMarker, type) (((gsMarker) - (type)) / kSubentTypeStep)
37
38
#define getFaceMarker(nIndex) ((nIndex) * kSubentTypeStep + OdDb::kFaceSubentType)
39
#define getEdgeMarker(nIndex) ((nIndex) * kSubentTypeStep + OdDb::kEdgeSubentType)
40
#define getVertexMarker(nIndex) ((nIndex) * kSubentTypeStep + OdDb::kVertexSubentType)
41
42
#define getTypedMarker(nIndex, type) ((nIndex) * kSubentTypeStep + (type))
43
44
#define isIndexValid(nIndex) ((nIndex)>0)
45
#define isMarkerInvalid(gsMarker) ((gsMarker) < kFirstFaceMarker || 0 == (gsMarker)%kSubentTypeStep)
46
47
#define isValidFaceMarker(gsMarker) ((gsMarker) >= kFirstFaceMarker && ((((gsMarker) - kFirstFaceMarker) % kSubentTypeStep) == 0))
48
#define isValidEdgeMarker(gsMarker) ((gsMarker) >= kFirstEdgeMarker && ((((gsMarker) - kFirstEdgeMarker) % kSubentTypeStep) == 0))
49
#define isValidVertexMarker(gsMarker) ((gsMarker) >= kFirstVertexMarker && ((((gsMarker) - kFirstVertexMarker) % kSubentTypeStep) == 0))
50
51
#endif
//MODELERMARKERS_H
Generated on Thu Feb 24 2022 15:09:53