예제 #1
0
파일: ocpointer.cpp 프로젝트: nrnhines/nrn
OcPointer::~OcPointer() {
	if (sti_) {
		delete sti_;
	}
	delete [] s_;
	nrn_notify_pointer_disconnect(this);
}
예제 #2
0
HocCommand::~HocCommand() {
	if (obj_) {
		nrn_notify_pointer_disconnect(this);
	}
	if (s_) {
		delete s_;
	}
	if (po_) {
		hoc_obj_unref(po_);
	}
}
예제 #3
0
void LinearMechanism::update_ptrs() {
	if (nodes_) {
		nrn_notify_pointer_disconnect(this);
		for (int i=0; i < nnode_; ++i) {
			double* pd = nrn_recalc_ptr(&(NODEV(nodes_[i])));
			if (pd != &(NODEV(nodes_[i]))) {
				nrn_notify_when_double_freed(pd, this);
			}
		}
	}
}
예제 #4
0
void LinearMechanism::lmfree() {
    if (f_callable_) {
        hoc_obj_unref(f_callable_);
        f_callable_ = NULL;
    }
	if (model_) {
		delete model_;
		model_ = NULL;
	}
	if (nodes_) {
		nrn_notify_pointer_disconnect(this);
		nnode_ = 0;
		delete [] nodes_;
		nodes_ = NULL;
		elayer_ = NULL;
	}
}
예제 #5
0
void RandomPlay::update(Observable*) {
//printf("RandomPlay::update\n");
	nrn_notify_pointer_disconnect(this);
	list_remove();
}