BRL-CAD
Loading...
Searching...
No Matches
nmg.h
Go to the documentation of this file.
1/* N M G . H
2 * BRL-CAD
3 *
4 * Copyright (c) 1993-2026 United States Government as represented by
5 * the U.S. Army Research Laboratory.
6 *
7 * This library is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU Lesser General Public License
9 * version 2.1 as published by the Free Software Foundation.
10 *
11 * This library is distributed in the hope that it will be useful, but
12 * WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * Lesser General Public License for more details.
15 *
16 * You should have received a copy of the GNU Lesser General Public
17 * License along with this file; see the file named COPYING for more
18 * information.
19 */
20/** @addtogroup rt_nmg */
21/** @{ */
22/** @file rt/primitives/nmg.h */
23
24#ifndef RT_PRIMITIVES_NMG_H
25#define RT_PRIMITIVES_NMG_H
26
27#include "common.h"
28#include "vmath.h"
29#include "bu/list.h"
30#include "bn/tol.h"
31#include "nmg.h"
32#include "rt/defines.h"
33#include "rt/geom.h"
34#include "rt/tree.h"
35
37
38/* NMG specific editing info */
40 struct edgeuse *es_eu; /* Currently selected NMG edgeuse */
41 struct loopuse *lu_copy; /* copy of loop to be extruded */
42 plane_t lu_pl; /* plane equation for loop to be extruded */
43 struct shell *es_s; /* Shell where extrusion is to end up */
44 point_t lu_keypoint; /* keypoint of lu_copy for extrusion */
45 struct vertex *es_v; /* Currently selected NMG vertex (ECMD_NMG_VPICK) */
46 struct faceuse *es_fu; /* Currently selected NMG faceuse (ECMD_NMG_FPICK) */
47};
48
49RT_EXPORT extern int
51 union tree *tp, union tree *tl, union tree *tr,
52 int op, struct bu_list *vlfree, const struct bn_tol *tol, void *data);
53
54/** @} */
55
57
58#endif /* RT_PRIMITIVES_BOT_H */
59
60/*
61 * Local Variables:
62 * tab-width: 8
63 * mode: C
64 * indent-tabs-mode: t
65 * c-file-style: "stroustrup"
66 * End:
67 * ex: shiftwidth=4 tabstop=8
68 */
Definition dvec.h:74
Header file for the BRL-CAD common definitions.
int rt_nmg_do_bool(union tree *tp, union tree *tl, union tree *tr, int op, struct bu_list *vlfree, const struct bn_tol *tol, void *data)
fastf_t plane_t[ELEMENTS_PER_PLANE]
Definition of a plane equation.
Definition vmath.h:396
fastf_t point_t[ELEMENTS_PER_POINT]
3-tuple point
Definition vmath.h:354
Definition tol.h:72
NMG topological edge usage.
Definition topology.h:155
NMG topological face usage.
Definition topology.h:230
NMG topological loop usage.
Definition topology.h:192
struct faceuse * es_fu
Definition nmg.h:46
struct shell * es_s
Definition nmg.h:43
struct vertex * es_v
Definition nmg.h:45
point_t lu_keypoint
Definition nmg.h:44
struct loopuse * lu_copy
Definition nmg.h:41
plane_t lu_pl
Definition nmg.h:42
struct edgeuse * es_eu
Definition nmg.h:40
NMG topological shell.
Definition topology.h:261
NMG topological vertex - the simplest element of the topology system.
Definition topology.h:98
Definition tree.h:166
fundamental vector, matrix, quaternion math macros