BRL-CAD

Primitive manipulation functions from former functab callback table. More...

Collaboration diagram for Object API:

Files

file  func.h
 

Functions

int rt_obj_prep (struct soltab *stp, struct rt_db_internal *ip, struct rt_i *rtip)
 
int rt_obj_shot (struct soltab *stp, struct xray *rp, struct application *ap, struct seg *seghead)
 
int rt_obj_piece_shot (struct rt_piecestate *psp, struct rt_piecelist *plp, double dist_corr, struct xray *rp, struct application *ap, struct seg *seghead)
 
int rt_obj_piece_hitsegs (struct rt_piecestate *psp, struct seg *seghead, struct application *ap)
 
int rt_obj_print (const struct soltab *stp)
 
int rt_obj_norm (struct hit *hitp, struct soltab *stp, struct xray *rp)
 
int rt_obj_uv (struct application *ap, struct soltab *stp, struct hit *hitp, struct uvcoord *uvp)
 
int rt_obj_curve (struct curvature *cvp, struct hit *hitp, struct soltab *stp)
 
DEPRECATED int rt_obj_class (void)
 
int rt_obj_free (struct soltab *stp)
 
int rt_obj_plot (struct bu_list *vhead, struct rt_db_internal *ip, const struct bg_tess_tol *ttol, const struct bn_tol *tol)
 
int rt_obj_vshot (struct soltab *stp[], struct xray *rp[], struct seg *segp, int n, struct application *ap)
 
int rt_obj_tess (struct nmgregion **r, struct model *m, struct rt_db_internal *ip, const struct bg_tess_tol *ttol, const struct bn_tol *tol)
 
int rt_obj_tnurb (struct nmgregion **r, struct model *m, struct rt_db_internal *ip, const struct bn_tol *tol)
 
int rt_obj_import (struct rt_db_internal *ip, const struct bu_external *ep, const mat_t mat, const struct db_i *dbip, struct resource *resp)
 
int rt_obj_export (struct bu_external *ep, const struct rt_db_internal *ip, double local2mm, const struct db_i *dbip, struct resource *resp)
 
int rt_obj_ifree (struct rt_db_internal *ip)
 
int rt_obj_get (struct bu_vls *logstr, const struct rt_db_internal *ip, const char *attr)
 
int rt_obj_adjust (struct bu_vls *logstr, struct rt_db_internal *ip, int argc, const char **argv)
 
int rt_obj_describe (struct bu_vls *logstr, const struct rt_db_internal *ip, int verbose, double mm2local)
 
int rt_obj_make (const struct rt_functab *ftp, struct rt_db_internal *ip)
 
int rt_obj_xform (struct rt_db_internal *op, const mat_t mat, struct rt_db_internal *ip, int release, struct db_i *dbip)
 
int rt_obj_params (struct pc_pc_set *ps, const struct rt_db_internal *ip)
 
int rt_obj_mirror (struct rt_db_internal *ip, const plane_t *plane)
 
int rt_obj_prep_serialize (struct soltab *stp, const struct rt_db_internal *ip, struct bu_external *external, size_t *version)
 

Detailed Description

Primitive manipulation functions from former functab callback table.

As this is a relatively new set of interfaces, consider these functions preliminary (i.e. DEPRECATED) and subject to change until this message goes away.

Function Documentation

◆ rt_obj_prep()

int rt_obj_prep ( struct soltab stp,
struct rt_db_internal ip,
struct rt_i rtip 
)

prep an object for ray tracing

◆ rt_obj_shot()

int rt_obj_shot ( struct soltab stp,
struct xray rp,
struct application ap,
struct seg seghead 
)

shoot a ray at an object that has been prepped for ray tracing

◆ rt_obj_piece_shot()

int rt_obj_piece_shot ( struct rt_piecestate psp,
struct rt_piecelist plp,
double  dist_corr,
struct xray rp,
struct application ap,
struct seg seghead 
)

TBD.

◆ rt_obj_piece_hitsegs()

int rt_obj_piece_hitsegs ( struct rt_piecestate psp,
struct seg seghead,
struct application ap 
)

TBD.

◆ rt_obj_print()

int rt_obj_print ( const struct soltab stp)

print an objects parameters in debug/diagnostic form

◆ rt_obj_norm()

int rt_obj_norm ( struct hit hitp,
struct soltab stp,
struct xray rp 
)

calculate a normal on an object that has been hit via rt_shot()

◆ rt_obj_uv()

int rt_obj_uv ( struct application ap,
struct soltab stp,
struct hit hitp,
struct uvcoord uvp 
)

calculate object uv parameterization for a given hit point

◆ rt_obj_curve()

int rt_obj_curve ( struct curvature cvp,
struct hit hitp,
struct soltab stp 
)

calculate object curvature for a given hit point

◆ rt_obj_class()

DEPRECATED int rt_obj_class ( void  )

DEPRECATED: Unimplemented.

◆ rt_obj_free()

int rt_obj_free ( struct soltab stp)

release the memory used by a solid

◆ rt_obj_plot()

int rt_obj_plot ( struct bu_list vhead,
struct rt_db_internal ip,
const struct bg_tess_tol ttol,
const struct bn_tol tol 
)

obtain a vlist wireframe representation of an object for plotting purposes

◆ rt_obj_vshot()

int rt_obj_vshot ( struct soltab stp[],
struct xray rp[],
struct seg segp,
int  n,
struct application ap 
)

shoot an array of rays at a set of homogeneous objects.

◆ rt_obj_tess()

int rt_obj_tess ( struct nmgregion **  r,
struct model m,
struct rt_db_internal ip,
const struct bg_tess_tol ttol,
const struct bn_tol tol 
)

tessellate an object (into NMG form)

◆ rt_obj_tnurb()

int rt_obj_tnurb ( struct nmgregion **  r,
struct model m,
struct rt_db_internal ip,
const struct bn_tol tol 
)

tessellate an object (into NURBS NMG form)

◆ rt_obj_import()

int rt_obj_import ( struct rt_db_internal ip,
const struct bu_external ep,
const mat_t  mat,
const struct db_i dbip,
struct resource resp 
)

v4/v5 object import from disk

◆ rt_obj_export()

int rt_obj_export ( struct bu_external ep,
const struct rt_db_internal ip,
double  local2mm,
const struct db_i dbip,
struct resource resp 
)

v4/v5 object export to disk

◆ rt_obj_ifree()

int rt_obj_ifree ( struct rt_db_internal ip)

free the internal representation of an object

◆ rt_obj_get()

int rt_obj_get ( struct bu_vls logstr,
const struct rt_db_internal ip,
const char *  attr 
)

db object 'get' support, obtain a tcl list representation

◆ rt_obj_adjust()

int rt_obj_adjust ( struct bu_vls logstr,
struct rt_db_internal ip,
int  argc,
const char **  argv 
)

db object 'adjust' support, modify a tcl list representation

◆ rt_obj_describe()

int rt_obj_describe ( struct bu_vls logstr,
const struct rt_db_internal ip,
int  verbose,
double  mm2local 
)

describe an object in text form (used by the 'l' command)

◆ rt_obj_make()

int rt_obj_make ( const struct rt_functab ftp,
struct rt_db_internal ip 
)

create a 'default' object

◆ rt_obj_xform()

int rt_obj_xform ( struct rt_db_internal op,
const mat_t  mat,
struct rt_db_internal ip,
int  release,
struct db_i dbip 
)

apply a matrix transformation to an object (translation, rotation, scale)

◆ rt_obj_params()

int rt_obj_params ( struct pc_pc_set ps,
const struct rt_db_internal ip 
)

obtain parameters for an object in libpc form

◆ rt_obj_mirror()

int rt_obj_mirror ( struct rt_db_internal ip,
const plane_t plane 
)

mirror an object about a plane

◆ rt_obj_prep_serialize()

int rt_obj_prep_serialize ( struct soltab stp,
const struct rt_db_internal ip,
struct bu_external external,
size_t *  version 
)

if stp is prepped, serialize; otherwise, deserialize from external