1 #include <../../nrnconf.h>
47 if (ho && ho->ctemplate->steer &&
ifarg(1)) {
114 if (x == 0. || x == 1.) {
162 for (
p = oldnode->
prop;
p;
p = pn) {
166 if (oldsec == pnt->
sec) {
167 if (oldnode ==
node) {
173 printf(
"relocating a %s to %s(%d)\n",
187 *px =
chkarg(iarg, 0., 1.);
193 (*nrnpy_o2loc_p_)(
o, psec, px);
203 *px =
chkarg(iarg, 0., 1.);
209 (*nrnpy_o2loc2_p_)(
o, psec, px);
224 hoc_execerror(
"ARTIFICIAL_CELLs are not located in a section", (
char*) 0);
241 hoc_execerror(
"point process not located in a section", (
char*) 0);
244 hoc_execerror(
"ARTIFICIAL_CELLs are not located in a section", (
char*) 0);
254 return (pnt->
sec != 0);
262 hoc_warning(
"point process not located in a section", (
char*) 0);
266 hoc_execerror(
"point process not located in a section", (
char*) 0);
338 for (; p1; p1 = p1->
next) {
398 return ob->ctemplate->is_point_ != 0;
const char * secname(Section *sec)
double nrn_arc_position(Section *sec, Node *node)
Section * chk_access(void)
void hoc_level_pushsec(Section *sec)
Node * node_exact(Section *sec, double x)
Symbol * hoc_table_lookup(const char *, Symlist *)
void nrn_prop_datum_free(int type, Datum *ppd)
void nrn_prop_data_free(int type, double *pd)
double chkarg(int, double low, double high)
void hoc_execerror(const char *, const char *)
void hoc_push_frame(Symbol *, int)
void hoc_template_notify(Object *ob, int message)
void hoc_pushpx(double *d)
void notify_freed_val_array(double *p, size_t size)
void hoc_warning(const char *, const char *)
int hoc_is_double_arg(int narg)
void hoc_obj_notify(Object *ob)
void hoc_obj_unref(Object *obj)
Object * hoc_new_opoint(int)
Object ** hoc_objgetarg(int)
Symlist * hoc_built_in_symlist
int hoc_araypt(Symbol *, int)
char * emalloc(unsigned n)
static Node * node(Object *)
void section_unref(Section *)
void nrn_sec_ref(Section **, Section *)
Object * hoc_new_object(Symbol *, void *)
short * nrn_is_artificial_
double loc_point_process(int, void *)
double has_loc_point(void *v)
double get_loc_point_process(void *v)
void * create_point_process(int pointtype, Object *ho)
void(* nrnpy_o2loc2_p_)(Object *, Section **, double *)
void nrn_seg_or_x_arg2(int iarg, Section **psec, double *px)
void nrn_relocate_old_points(Section *oldsec, Node *oldnode, Section *sec, Node *node)
void(* nrnpy_o2loc_p_)(Object *, Section **, double *)
Object * nrn_new_pointprocess(Symbol *sym)
Prop * prop_alloc(Prop **, int, Node *)
static void create_artcell_prop(Point_process *pnt, short type)
void clear_point_process_struct(Prop *p)
void connect_point_process_pointer(void)
double * point_process_pointer(Point_process *pnt, Symbol *sym, int index)
static double ** cppp_pointer
void nrn_seg_or_x_arg(int iarg, Section **psec, double *px)
static int cppp_semaphore
void nrn_loc_point_process(int pointtype, Point_process *pnt, Section *sec, Node *node)
int is_point_process(Object *ob)
void destroy_point_process(void *v)
void steer_point_process(void *v)
static void free_one_point(Point_process *pnt)
struct Symbol::@37::@38 rng
Section * nrn_pnt_sec_for_need_
Prop * prop_alloc_disallow(Prop **pp, short type, Node *nd)