コード例 #1
0
ファイル: cext.cpp プロジェクト: innovatelogic/ilogic-vm
CExtObject::CExtObject(BOOL loading) 
	{
	ReplaceReference(0, CreateParameterBlock(CExtdescVer0, PBLOCK_LENGTH, CURRENT_VERSION));
	
	pblock->SetValue(PB_TSEGS,0,dlgTSegs);
	pblock->SetValue(PB_SSEGS,0,dlgSSegs);
	pblock->SetValue(PB_BSEGS,0,dlgBSegs);	
	pblock->SetValue(PB_WSEGS,0,dlgWSegs);	
	pblock->SetValue(PB_HSEGS,0,dlgHSegs);	

	pblock->SetValue(PB_TOPLENGTH,0,crtTopLength);
	pblock->SetValue(PB_SIDELENGTH,0,crtSideLength);
	pblock->SetValue(PB_BOTLENGTH,0,crtBotLength);
	pblock->SetValue(PB_TOPWIDTH,0,crtTopWidth);
	pblock->SetValue(PB_SIDEWIDTH,0,crtSideWidth);
	pblock->SetValue(PB_BOTWIDTH,0,crtBotWidth);
	pblock->SetValue(PB_HEIGHT,0,crtHeight);

	pblock->SetValue(PB_GENUVS,0,TRUE);

	increate=FALSE;createmeth=0;

#ifdef PHYSICAL_SCALE_UVS
	if (!loading && !GetPhysicalScaleUVsDisabled())
		SetUsePhysicalScaleUVs(true);
#endif
	}
コード例 #2
0
ファイル: extrude.cpp プロジェクト: artemeliy/inf4715
ExtrudeMod::ExtrudeMod(BOOL create)
	{
//watje new mapping ver < 4 of this modifier use the old mapping
	ver = 4;

	pblock = NULL;
	ReplaceReference(0, CreateParameterBlock(descVer6, PBLOCK_LENGTH, CURRENT_VERSION));
	pblock->SetValue(PB_AMOUNT, TimeValue(0), dlgAmount);
	pblock->SetValue(PB_SEGS, TimeValue(0), dlgSegs);
	pblock->SetValue(PB_CAPSTART, TimeValue(0), dlgCapStart);
	pblock->SetValue(PB_CAPEND, TimeValue(0), dlgCapEnd);
	pblock->SetValue(PB_CAPTYPE, TimeValue(0), dlgCapType);
	pblock->SetValue(PB_OUTPUT, TimeValue(0), dlgOutput);
	pblock->SetValue(PB_MAPPING, TimeValue(0), dlgMapping);
	pblock->SetValue(PB_GEN_MATIDS, TimeValue(0), dlgGenMatIDs);
	pblock->SetValue(PB_USE_SHAPEIDS, TimeValue(0), dlgUseShapeIDs);
	pblock->SetValue(PB_SMOOTH, TimeValue(0), dlgSmooth);
	dlgProc.SetMod(this);

#ifdef PHYSICAL_SCALE_UVS
    if (create)
        if (!GetPhysicalScaleUVsDisabled())
            SetUsePhysicalScaleUVs(true);
#endif
	}
コード例 #3
0
ファイル: cext.cpp プロジェクト: innovatelogic/ilogic-vm
void CExtObject::BeginEditParams(IObjParam *ip,ULONG flags,Animatable *prev)
{
	SimpleObject::BeginEditParams(ip,flags,prev);

	if (pmapCreate && pmapParam) {

		// Left over from last CExt ceated
		pmapCreate->SetParamBlock(this);
		pmapTypeIn->SetParamBlock(this);
		pmapParam->SetParamBlock(pblock);
		CExtWidthDlgProc* dlg = static_cast<CExtWidthDlgProc*>(pmapParam->GetUserDlgProc());
		if (dlg != NULL) {
			BOOL rws = dlg->GetRWSState();
			SetUsePhysicalScaleUVs(rws);
		}
	} else {

		// Gotta make a new one.
		if (flags&BEGIN_EDIT_CREATE) {
			pmapCreate = CreateCPParamMap(
				descCreate,CREATEDESC_LENGTH,
				this,
				ip,
				hInstance,
				MAKEINTRESOURCE(IDD_UEXTRUSIONS1),
				GetString(IDS_RB_CREATE_DIALOG),
				0);

			pmapTypeIn = CreateCPParamMap(
				descTypeIn,TYPEINDESC_LENGTH,
				this,
				ip,
				hInstance,
				MAKEINTRESOURCE(IDD_C_EXTRUSION2),
				GetString(IDS_RB_KEYBOARDENTRY),
				APPENDROLL_CLOSED);			
		}

		pmapParam = CreateCPParamMap(
			descParam,PARAMDESC_LENGTH,
			pblock,
			ip,
			hInstance,
			MAKEINTRESOURCE(IDD_C_EXTRUSION3),
			GetString(IDS_AP_PARAMETERS),
			0);
	}

	this->ip = ip;

	if(pmapTypeIn) {
		// A callback for the type in.
		pmapTypeIn->SetUserDlgProc(new CExtTypeInDlgProc(this));
	}	
	if(pmapParam) {
		// A callback for the type in.
		pmapParam->SetUserDlgProc(new CExtWidthDlgProc(this));
	}
}
コード例 #4
0
ファイル: scuba.cpp プロジェクト: artemeliy/inf4715
void ScubaObject::BeginEditParams(IObjParam *ip,ULONG flags,Animatable *prev)
	{
	SimpleObject::BeginEditParams(ip,flags,prev);

	if (pmapCreate && pmapParam) {
		
		// Left over from last Scuba ceated
		pmapCreate->SetParamBlock(this);
		pmapTypeIn->SetParamBlock(this);
		pmapParam->SetParamBlock(pblock);
        ScubaHeightDlgProc* dlg = static_cast<ScubaHeightDlgProc*>(pmapParam->GetUserDlgProc());
        if (dlg != NULL) {
            BOOL rws = dlg->GetRWSState();
            SetUsePhysicalScaleUVs(rws);
        }
	} else {
		
		if (flags&BEGIN_EDIT_CREATE) {
			pmapCreate = CreateCPParamMap(
				descCreate,CREATEDESC_LENGTH,
				this,
				ip,
				hInstance,
				MAKEINTRESOURCE(IDD_UREVS1),
				GetString(IDS_RB_CREATE_DIALOG),
				0);

			pmapTypeIn = CreateCPParamMap(
				descTypeIn,TYPEINDESC_LENGTH,
				this,
				ip,
				hInstance,
				MAKEINTRESOURCE(IDD_SCUBA2),
				GetString(IDS_RB_KEYBOARDENTRY),
				APPENDROLL_CLOSED);			
			}

		pmapParam = CreateCPParamMap(
			descParam,PARAMDESC_LENGTH,
			pblock,
			ip,
			hInstance,
			MAKEINTRESOURCE(IDD_SCUBA3),
			GetString(IDS_AP_PARAMETERS),
			0);
		}


	this->ip = ip;

	if(pmapTypeIn) {
		pmapTypeIn->SetUserDlgProc(new ScubaTypeInDlgProc(this));
		}
	if(pmapParam) {
		pmapParam->SetUserDlgProc(new ScubaHeightDlgProc(this));
		}
	}
コード例 #5
0
//--- RendSpline -------------------------------------------------------
RendSpline::RendSpline(BOOL create)
{
	mAspectValidity = FOREVER;
	pblock = NULL;
	RendSplineDesc.MakeAutoParamBlocks(this);
#ifdef PHYSICAL_SCALE_UVS
    if (create)
        if (!GetPhysicalScaleUVsDisabled())
            SetUsePhysicalScaleUVs(true);
#endif
}
コード例 #6
0
ファイル: torus.cpp プロジェクト: innovatelogic/ilogic-vm
TorusObject::TorusObject(BOOL loading)
	{
	SetAFlag(A_PLUGIN1);
	ReplaceReference(0, CreateParameterBlock(descVer3, PBLOCK_LENGTH, CURRENT_VERSION));
	assert(pblock);

	pblock->SetValue(PB_SMOOTH,0,dlgSmooth);
	pblock->SetValue(PB_SEGMENTS,0,dlgSegments);
	pblock->SetValue(PB_SIDES,0,dlgSides);	
	pblock->SetValue(PB_RADIUS,0,crtRadius1);
	pblock->SetValue(PB_RADIUS2,0,crtRadius2);	
	pblock->SetValue(PB_GENUVS,0,TRUE);

#ifdef PHYSICAL_SCALE_UVS
	if (!loading && !GetPhysicalScaleUVsDisabled())
		SetUsePhysicalScaleUVs(true);
#endif
	}
コード例 #7
0
ファイル: pyramid.cpp プロジェクト: innovatelogic/ilogic-vm
PyramidObject::PyramidObject(BOOL loading) 
	{
	ReplaceReference(0, CreateParameterBlock(PyramiddescVer0, PBLOCK_LENGTH, CURRENT_VERSION));
	
	pblock->SetValue(PB_WSEGS,0,dlgWSegs);
	pblock->SetValue(PB_DSEGS,0,dlgDSegs);	
	pblock->SetValue(PB_HSEGS,0,dlgHSegs);	

	pblock->SetValue(PB_WIDTH,0,crtWidth);
	pblock->SetValue(PB_DEPTH,0,crtDepth);
	pblock->SetValue(PB_HEIGHT,0,crtHeight);

	pblock->SetValue(PB_GENUVS,0,TRUE);
#ifdef PHYSICAL_SCALE_UVS
	if (!loading && !GetPhysicalScaleUVsDisabled())
		SetUsePhysicalScaleUVs(true);
#endif
	}
コード例 #8
0
ファイル: chbox.cpp プロジェクト: innovatelogic/ilogic-vm
// Constructor
ChBoxObject::ChBoxObject(BOOL loading)
	{
	ReplaceReference(0, CreateParameterBlock(descVer1,PBLOCK_LENGTH, CURRENT_VERSION));
	
	pblock->SetValue(PB_LSEGS,0,dlgLSegs);
	pblock->SetValue(PB_WSEGS,0,dlgWSegs);
	pblock->SetValue(PB_HSEGS,0,dlgHSegs);	
	pblock->SetValue(PB_CSEGS,0,dlgCSegs);	
	pblock->SetValue(PB_LENGTH,0,crtLength);
	pblock->SetValue(PB_WIDTH,0,crtWidth);
	pblock->SetValue(PB_HEIGHT,0,crtHeight);
	pblock->SetValue(PB_RADIUS,0,crtRadius);
	pblock->SetValue(PB_SMOOTH,0,1);

	pblock->SetValue(PB_GENUVS,0,TRUE);

#ifdef PHYSICAL_SCALE_UVS
	if (!loading && !GetPhysicalScaleUVsDisabled())
		SetUsePhysicalScaleUVs(true);
#endif
	}
コード例 #9
0
ファイル: scuba.cpp プロジェクト: artemeliy/inf4715
ScubaObject::ScubaObject(BOOL loading) 
	{
	ReplaceReference(0, CreateParameterBlock(ScubadescVer0, PBLOCK_LENGTH, CURRENT_VERSION));
	
	pblock->SetValue(PB_RADIUS,0,crtRadius);
	pblock->SetValue(PB_HEIGHT,0,crtHeight);
	pblock->SetValue(PB_TI_RADIUS,0,crtRadius);
	pblock->SetValue(PB_TI_HEIGHT,0,crtHeight);
	pblock->SetValue(PB_CENTERS,0,crtCenters);
	pblock->SetValue(PB_SIDES,0,dlgSides);
	pblock->SetValue(PB_HSEGS,0,dlgHSegs);
	pblock->SetValue(PB_SMOOTHON,0,dlgSmooth);
	pblock->SetValue(PB_SLICEON,0,dlgSlice);
	pblock->SetValue(PB_SLICEFROM,0,crtSliceFrom);
	pblock->SetValue(PB_SLICETO,0,crtSliceTo);
	pblock->SetValue(PB_GENUVS,0, TRUE);				

	increate=FALSE;
#ifdef PHYSICAL_SCALE_UVS
	if (!loading && !GetPhysicalScaleUVsDisabled())
		SetUsePhysicalScaleUVs(true);
#endif
	}
コード例 #10
0
ファイル: chbox.cpp プロジェクト: innovatelogic/ilogic-vm
// This method is called by the system when the user needs 
// to edit the objects parameters in the command panel.  
void ChBoxObject::BeginEditParams(IObjParam *ip,ULONG flags,Animatable *prev)
{
	// We subclass off SimpleObject so we must call its
	// BeginEditParams() method first.
	SimpleObject::BeginEditParams(ip,flags,prev);
	// Save the interface pointer.

	if (pmapCreate && pmapParam) {

		// Left over from last box ceated
		pmapCreate->SetParamBlock(this);
		pmapTypeIn->SetParamBlock(this);
		pmapParam->SetParamBlock(pblock);
		ChBoxParamDlgProc* dlg = static_cast<ChBoxParamDlgProc*>(pmapParam->GetUserDlgProc());
		if (dlg != NULL) {
			BOOL rws = dlg->GetRWSState();
			SetUsePhysicalScaleUVs(rws);
		}
	} else {

		// Gotta make a new one.
		if (flags&BEGIN_EDIT_CREATE) {
			// Here we create each new rollup page in the command panel
			// using our descriptors.
			pmapCreate = CreateCPParamMap(
				descCreate,CREATEDESC_LENGTH,
				this,
				ip,
				hInstance,
				MAKEINTRESOURCE(IDD_CHAMFERCUBE1),
				GetString(IDS_RB_CREATE_DIALOG),
				0);

			pmapTypeIn = CreateCPParamMap(
				descTypeIn,TYPEINDESC_LENGTH,
				this,
				ip,
				hInstance,
				MAKEINTRESOURCE(IDD_CHAMFERCUBE2),
				GetString(IDS_RB_KEYBOARDENTRY),
				APPENDROLL_CLOSED);
		}

		pmapParam = CreateCPParamMap(
			descParam,PARAMDESC_LENGTH,
			pblock,
			ip,
			hInstance,
			MAKEINTRESOURCE(IDD_CHAMFERCUBE3),
			GetString(IDS_AP_PARAMETERS),
			0);
	}

	this->ip = ip;

	if(pmapTypeIn) {
		// A callback for the type in.
		// This handles processing the Create button in the 
		// Keyboard Entry rollup page.
		pmapTypeIn->SetUserDlgProc(new ChBoxTypeInDlgProc(this));
	}
	if (pmapParam != NULL) {
		pmapParam->SetUserDlgProc(new ChBoxParamDlgProc(this));
	}
}