예제 #1
0
static void rna_Lattice_points_begin(CollectionPropertyIterator *iter, PointerRNA *ptr)
{
	Lattice *lt= (Lattice*)ptr->data;
	int tot= lt->pntsu*lt->pntsv*lt->pntsw;

	if(lt->editlatt && lt->editlatt->latt->def)
		rna_iterator_array_begin(iter, (void*)lt->editlatt->latt->def, sizeof(BPoint), tot, 0, NULL);
	else if(lt->def)
		rna_iterator_array_begin(iter, (void*)lt->def, sizeof(BPoint), tot, 0, NULL);
	else
		rna_iterator_array_begin(iter, NULL, 0, 0, 0, NULL);
}
예제 #2
0
static void rna_LatticePoint_groups_begin(CollectionPropertyIterator *iter, PointerRNA *ptr)
{
	Lattice *lt= (Lattice*)ptr->id.data;

	if(lt->dvert) {
		BPoint *bp= (BPoint*)ptr->data;
		MDeformVert *dvert= lt->dvert + (bp-lt->def);

		rna_iterator_array_begin(iter, (void*)dvert->dw, sizeof(MDeformWeight), dvert->totweight, 0, NULL);
	}
	else
		rna_iterator_array_begin(iter, NULL, 0, 0, 0, NULL);
}
예제 #3
0
void MotionPath_points_begin(CollectionPropertyIterator *iter, PointerRNA *ptr)
{
	bMotionPath *data = (bMotionPath *)(ptr->data);

	memset(iter, 0, sizeof(*iter));
	iter->parent = *ptr;
	iter->prop = (PropertyRNA *)&rna_MotionPath_points;

	rna_iterator_array_begin(iter, data->points, sizeof(data->points[0]), data->length, 0, NULL);

	if (iter->valid)
		iter->ptr = MotionPath_points_get(iter);
}
예제 #4
0
static void rna_EnumProperty_items_begin(CollectionPropertyIterator *iter, PointerRNA *ptr)
{
	PropertyRNA *prop= (PropertyRNA*)ptr->data;
	// EnumPropertyRNA *eprop; // UNUSED
	EnumPropertyItem *item= NULL;
	int totitem, free= 0;
	
	rna_idproperty_check(&prop, ptr);
	// eprop= (EnumPropertyRNA*)prop;
	
	RNA_property_enum_items(NULL, ptr, prop, &item, &totitem, &free);
	rna_iterator_array_begin(iter, (void*)item, sizeof(EnumPropertyItem), totitem, free, rna_enum_check_separator);
}
예제 #5
0
static void rna_ShapeKey_data_begin(CollectionPropertyIterator *iter, PointerRNA *ptr)
{
	Key *key = rna_ShapeKey_find_key(ptr->id.data);
	KeyBlock *kb = (KeyBlock *)ptr->data;
	Curve *cu;
	Nurb *nu;
	int tot = kb->totelem, size = key->elemsize;
	
	if (GS(key->from->name) == ID_CU) {
		cu = (Curve *)key->from;
		nu = cu->nurb.first;
		
		if (nu->bezt) {
			tot /= 3;
			size *= 3;
		}
	}
	
	rna_iterator_array_begin(iter, (void *)kb->data, size, tot, 0, NULL);
}
예제 #6
0
파일: rna_color.c 프로젝트: diekev/blender
static void rna_CurveMapping_curves_begin(CollectionPropertyIterator *iter, PointerRNA *ptr)
{
	CurveMapping *cumap = (CurveMapping *)ptr->data;

	rna_iterator_array_begin(iter, cumap->cm, sizeof(CurveMap), rna_CurveMapping_curves_length(ptr), 0, NULL);
}
예제 #7
0
파일: rna_lamp.c 프로젝트: mgschwan/blensor
static void rna_Lamp_mtex_begin(CollectionPropertyIterator *iter, PointerRNA *ptr)
{
	Lamp *la = (Lamp *)ptr->data;
	rna_iterator_array_begin(iter, (void *)la->mtex, sizeof(MTex *), MAX_MTEX, 0, NULL);
}
예제 #8
0
파일: rna_world.c 프로젝트: jinjoh/NOOR
static void rna_World_mtex_begin(CollectionPropertyIterator *iter, PointerRNA *ptr)
{
	World *wo= (World*)ptr->data;
	rna_iterator_array_begin(iter, (void*)wo->mtex, sizeof(MTex*), MAX_MTEX, 0, NULL);
}
예제 #9
0
static void rna_FluidMeshVertex_data_begin(CollectionPropertyIterator *iter, PointerRNA *ptr)
{
	FluidsimSettings *fss = (FluidsimSettings*)ptr->data;
	rna_iterator_array_begin(iter, fss->meshVelocities, sizeof(float)*3, fss->totvert, 0, NULL);
}
예제 #10
0
파일: rna_ID.c 프로젝트: pawkoz/dyplom
static void rna_IDPArray_begin(CollectionPropertyIterator *iter, PointerRNA *ptr)
{
	IDProperty *prop = (IDProperty *)ptr->data;
	rna_iterator_array_begin(iter, IDP_IDPArray(prop), sizeof(IDProperty), prop->len, 0, NULL);
}
예제 #11
0
static void rna_Controller_actuators_begin(CollectionPropertyIterator *iter, PointerRNA *ptr)
{
	bController *cont = (bController *)ptr->data;
	rna_iterator_array_begin(iter, cont->links, sizeof(bActuator *), (int)cont->totlinks, 0, NULL);
}
예제 #12
0
파일: rna_curve.c 프로젝트: jinjoh/NOOR
static void rna_BPoint_array_begin(CollectionPropertyIterator *iter, PointerRNA *ptr)
{
	Nurb *nu= (Nurb*)ptr->data;
	rna_iterator_array_begin(iter, (void*)nu->bp, sizeof(BPoint*), nu->pntsv>0 ? nu->pntsu*nu->pntsv : nu->pntsu, 0, NULL);
}
예제 #13
0
static void rna_Sensor_controllers_begin(CollectionPropertyIterator *iter, PointerRNA *ptr)
{
	bSensor *sens = (bSensor *)ptr->data;
	rna_iterator_array_begin(iter, sens->links, sizeof(bController *), (int)sens->totlinks, 0, NULL);
}
예제 #14
0
static void rna_Image_render_slots_begin(CollectionPropertyIterator *iter, PointerRNA *ptr)
{
	Image *image = (Image *)ptr->id.data;
	rna_iterator_array_begin(iter, (void *)image->render_slots, sizeof(RenderSlot), IMA_MAX_RENDER_SLOT, 0, NULL);
}