BRL-CAD
metaball.h
Go to the documentation of this file.
1/* M E T A B A L L . H
2 * BRL-CAD
3 *
4 * Copyright (c) 1993-2023 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_metaball */
21/** @{ */
22/** @file rt/primitives/metaball.h */
23
24#ifndef RT_PRIMITIVES_METABALL_H
25#define RT_PRIMITIVES_METABALL_H
26
27#include "common.h"
28#include "vmath.h"
29#include "bu/vls.h"
30#include "rt/defines.h"
31
32__BEGIN_DECLS
33
35RT_EXPORT extern void rt_vls_metaball_pnt(struct bu_vls *vp,
36 const int pt_no,
37 const struct rt_db_internal *ip,
38 const double mm2local);
39RT_EXPORT extern void rt_metaball_pnt_print(const struct wdb_metaball_pnt *metaball, double mm2local);
40RT_EXPORT extern int rt_metaball_ck(const struct bu_list *headp);
41RT_EXPORT extern fastf_t rt_metaball_point_value(const point_t *p,
42 const struct rt_metaball_internal *mb);
43RT_EXPORT extern int rt_metaball_point_inside(const point_t *p,
44 const struct rt_metaball_internal *mb);
45RT_EXPORT extern int rt_metaball_lookup_type_id(const char *name);
46RT_EXPORT extern const char *rt_metaball_lookup_type_name(const int id);
47RT_EXPORT extern int rt_metaball_add_point(struct rt_metaball_internal *,
48 const point_t *loc,
49 const fastf_t fldstr,
50 const fastf_t goo);
51
52/** @} */
53
54__END_DECLS
55
56#endif /* RT_PRIMITIVES_METABALL_H */
57
58/*
59 * Local Variables:
60 * tab-width: 8
61 * mode: C
62 * indent-tabs-mode: t
63 * c-file-style: "stroustrup"
64 * End:
65 * ex: shiftwidth=4 tabstop=8
66 */
Header file for the BRL-CAD common definitions.
int rt_metaball_ck(const struct bu_list *headp)
const char * rt_metaball_lookup_type_name(const int id)
int rt_metaball_lookup_type_id(const char *name)
fastf_t rt_metaball_point_value(const point_t *p, const struct rt_metaball_internal *mb)
void rt_metaball_pnt_print(const struct wdb_metaball_pnt *metaball, double mm2local)
void rt_vls_metaball_pnt(struct bu_vls *vp, const int pt_no, const struct rt_db_internal *ip, const double mm2local)
int rt_metaball_add_point(struct rt_metaball_internal *, const point_t *loc, const fastf_t fldstr, const fastf_t goo)
int rt_metaball_point_inside(const point_t *p, const struct rt_metaball_internal *mb)
double fastf_t
fastest 64-bit (or larger) floating point type
Definition: vmath.h:330
fastf_t point_t[ELEMENTS_PER_POINT]
3-tuple point
Definition: vmath.h:351
Definition: list.h:131
Definition: vls.h:53
fundamental vector, matrix, quaternion math macros