|
Action:
|
Gets deformable surface data.
|
|
|
Prototype:
|
void DM_get_dmod_surface (
|
|
|
int& rtn_err,
|
// out: 0=success
|
|
|
|
|
// or negative err code
|
|
|
DS_dmod* dmod,
|
// in: dmod to retrieve
|
|
|
|
|
// data from
|
|
|
void*& dmod_entity,
|
// out: application ptr
|
|
|
|
|
// stored with dmod
|
|
|
double& domain_scale,
|
// out:
|
|
|
|
|
// internal_pfunc_space
|
|
|
|
|
// = domain_scale
|
|
|
|
|
// * orig_dmod_space.
|
|
|
DS_pfunc*& pfunc,
|
// out: the dmod's
|
|
|
|
|
// shape model
|
|
|
|
|
// output in
|
|
|
|
|
// internal_pfunc_space
|
|
|
int& draw_state,
|
// out: draw bits for
|
|
|
|
|
// application graphics
|
|
|
|
|
// (draw loads, cstrns,
|
|
|
|
|
// and seams)
|
|
|
int& tag,
|
// out: unique id for
|
|
|
|
|
// this object
|
|
|
double& au,
|
// out: u dir resistance
|
|
|
|
|
// to stretch [1.0]
|
|
|
double& av,
|
// out: v dir resistance
|
|
|
|
|
// to stretch [1.0]
|
|
|
double& atheta,
|
// out: resist stretch
|
|
|
|
|
// rotation angle
|
|
|
double& bu,
|
// out: u dir resistance
|
|
|
|
|
// to bending [5.0]
|
|
|
double& bv,
|
// out: v dir resistance
|
|
|
|
|
// to bending [5.0]
|
|
|
double& btheta,
|
// out: resist bending
|
|
|
|
|
// rotation angle
|
|
|
double& gamma,
|
// out: resist bending
|
|
|
|
|
// change rate
|
|
|
double& delta,
|
//out: resistance to
|
|
|
|
|
// moving from default
|
|
|
|
|
// shape
|
|
|
double& dt,
|
// out: implicit
|
|
|
|
|
// integration time step
|
|
|
|
|
// [1.0]
|
|
|
double& mass,
|
// out: physical param
|
|
|
|
|
// (causes rippling)
|
|
|
|
|
// [1.0]
|
|
|
double& damp,
|
// out: physical param
|
|
|
|
|
// (stable integration)
|
|
|
|
|
// [5.0]
|
|
|
DS_dmod*& parent,
|
// out: dmod's parent
|
|
|
|
|
// pointer
|
|
|
DS_dmod*& sibling,
|
// out: dmod's sibling
|
|
|
|
|
// pointer
|
|
|
DS_dmod*& child,
|
// out: dmod's 1st child
|
|
|
int& load_count,
|
// out: number of loads
|
|
|
|
|
// in dmod
|
|
|
int& cstrn_count,
|
// out: number of
|
|
|
|
|
// constraints in dmod
|
|
|
SDM_options* sdmo
|
// in:SDM_options pointer
|
|
|
|
= NULL
|
//
|
|
|
);
|
|
|
Includes:
|
#include "kernel/acis.hxx"
|
|
#include "dshusk/dskernel/dmapi.hxx"
|
|
#include "dshusk/dskernel/dsdmod.hxx"
|
|
#include "dshusk/dskernel/dspfunc.hxx"
|
|
#include "dshusk/dskernel/sdm_options.hxx"
|
|
|
Description:
|
Modifies
pfunc,draw_state,
tag,
au,
av,
atheta,
bu,
bv,
btheta,
delta,
dt,mass, and
damp
|
|
|
Loads the output variables with data from the input deformable model object. Note the current value of
pfunc will be overwritten so take care that it is not the only pointer to a current
DS_pfunc object, otherwise a memory leak may occur. See function
DM_make_dmod_surface() for definitions of the output arguments and their use.
|
|
|
The pfunc is loaded with a pointer to the contained
DS_pfunc object which exists in the
internal_pfunc_space. The pfunc's domain space range is related to the
DS_dmod's domain space range by the
domain_scale factor as:
|
|
|
internal_pfunc_space = domain_scale * orig_dmod_space.
|
|
|
Errors:
|
DM_NULL_INPUT_PTR
|
|
The deformable model cannot be
NULL on entry.
|
|
|
|
DM_DMOD_NOT_A_SURFACE
|
|
The deformable model must be a surface.
|
|
|
Library:
|
dshusk
|
|
|
Filename:
|
ds/dshusk/dskernel/dmapi.hxx
|
|
|
Effect:
|
Changes model
|