Files
test2/source/blender/editors/include/ED_transverts.h
Sergey Sharybin c1bc70b711 Cleanup: Add a copyright notice to files and use SPDX format
A lot of files were missing copyright field in the header and
the Blender Foundation contributed to them in a sense of bug
fixing and general maintenance.

This change makes it explicit that those files are at least
partially copyrighted by the Blender Foundation.

Note that this does not make it so the Blender Foundation is
the only holder of the copyright in those files, and developers
who do not have a signed contract with the foundation still
hold the copyright as well.

Another aspect of this change is using SPDX format for the
header. We already used it for the license specification,
and now we state it for the copyright as well, following the
FAQ:

    https://reuse.software/faq/
2023-05-31 16:19:06 +02:00

74 lines
1.7 KiB
C

/* SPDX-FileCopyrightText: 2008 Blender Foundation
*
* SPDX-License-Identifier: GPL-2.0-or-later */
/** \file
* \ingroup editors
*/
#pragma once
#ifdef __cplusplus
extern "C" {
#endif
struct Object;
struct bContext;
typedef struct TransVert {
float *loc;
float oldloc[3], maploc[3];
float normal[3];
int flag;
} TransVert;
typedef struct TransVertStore {
struct TransVert *transverts;
int transverts_tot;
int mode;
} TransVertStore;
/**
* \param obedit: When `mode` has the #TM_CALC_MAPLOC flag set, `obedit` must be evaluated,
* to access evaluated vertices.
*/
void ED_transverts_create_from_obedit(TransVertStore *tvs, const struct Object *obedit, int mode);
void ED_transverts_update_obedit(TransVertStore *tvs, struct Object *obedit);
void ED_transverts_free(TransVertStore *tvs);
bool ED_transverts_check_obedit(const struct Object *obedit);
bool ED_transverts_poll(struct bContext *C);
/* currently only used for bmesh index values */
enum {
/** Tag to make trans verts. */
TM_INDEX_ON = 1,
/** Don't make verts. */
TM_INDEX_OFF = 0,
/** Don't make verts (when the index values point to trans-verts). */
TM_INDEX_SKIP = -1,
};
/* mode flags: */
enum {
/** all joints (for bones only) */
TM_ALL_JOINTS = (1 << 0),
/** skip handles when control point is selected (for curves only) */
TM_SKIP_HANDLES = (1 << 1),
/** fill in normals when available */
TM_CALC_NORMALS = (1 << 2),
/** Calculates #TransVert.maploc where possible. */
TM_CALC_MAPLOC = (1 << 2),
};
enum {
/* SELECT == (1 << 0) */
/** Calculated when #TM_CALC_MAPLOC is set. */
TX_VERT_USE_MAPLOC = (1 << 1),
/** Calculated when #TM_CALC_NORMALS is set, avoid nonzero check. */
TX_VERT_USE_NORMAL = (1 << 2),
};
#ifdef __cplusplus
}
#endif