|
Thank you good suggestion,Of course my mean was to do the things by pure STL methods.
|
|
|
|
|
Just wanted to check whether the code here in VerifyMaterial() is correct, it works, but as I learned from my last post that doesn't necessarily mean it is correct. I searched google for information but couldn't find anything specific, however any info I found seemed to be against a cast from DWORD to int.
BasicMaterial::BasicMaterial()
{
Ambient = NULL;
Diffuse = NULL;
Specular = NULL;
}
BOOL BasicMaterial::VerifyMaterial()
{
if (!(int)Ambient || !(int)Diffuse || !(int)Specular)
return false;
return true;
}
|
|
|
|
|
Mikey_H wrote: Just wanted to check whether the code here in VerifyMaterial() is correct
To be able to verify that, we need to know what you are trying to do...
Anyway, the cast is not necessary here because a DWORD is an unsigned long. Thus checking if it is null doesn't require you to cast it to an int.
|
|
|
|
|
I want to check to see if the DWORDs have been set from an outside class.
I had originally tried it without the cast, but that did not work.
typedef DWORD D3DCOLOR;
It is actually a D3DCOLOR but I assume the same rules apply?
|
|
|
|
|
Mikey_H wrote: I want to check to see if the DWORDs have been set from an outside class.
And what if they are set as 0 ? The only thing you can verify is check if they are different than 0.
Mikey_H wrote: but that did not work.
Which means what exactly ?
Anyway, if I have to check for if a value is different than zero, I use this notation: if (myValue!=0) , which is a bit clearer (just a matter of taste).
|
|
|
|
|
I've tried again without the cast
if (!Ambient || !Diffuse || !Specular)
return false;
which is working, I obviously didn't have it set up how I thought I did at first.
Checking to make sure value is not 0 is fine, I just want to see if it has been "attempted" to be set, the variables will hold color values so they should not be 0 once set (I think).
Thank you for your help Cedric
modified on Tuesday, April 21, 2009 1:23 PM
|
|
|
|
|
By the way, your code returns false if one of the values is different than 0, is that what you want ? I would guess you want the opposite no ?
Also, with numerical values, it is a bit clearer to consider them as numerical values, not boolean. Logically, it doesn't make any difference but it makes the code a bit more understandable (you want to check that the value is different than 0).
|
|
|
|
|
Function should return true if all 3 values do not equal 0
|
|
|
|
|
Yes you're right that's what it does.
It's the end of the day here, so my brain has been turned off a couple of hours ago
|
|
|
|
|
Mikey_H wrote: I want to check to see if the DWORDs have been set from an outside class.
Are they public or private to the BasicMaterial class?
"Old age is like a bank account. You withdraw later in life what you have deposited along the way." - Unknown
"Fireproof doesn't mean the fire will never come. It means when the fire comes that you will be able to withstand it." - Michael Simmons
|
|
|
|
|
Basically, it's a bad code sytle to assign NULL to a DWORD variable. i think you should initialize them with 0 and later compare/verify them as below:
if (Ambient == 0 || Diffuse == 0 || Specular == 0)
{
return false;
}
|
|
|
|
|
Hi,
I have a diff.dll and would like know the process names that can i use. I haven´t any documentation about the process names only about utilization.
I need to put the DLL into project (LoadLibrary) and Get the process (GetProcess) to compare files in apropriate situations.
Realy, i would like to now how can i get the user-defined process names from any DLL´s without the owner documentation.
Is it possible ?
Someone can help me.
|
|
|
|
|
SNArruda wrote: process names that can i use
You mean the exported functions ? Processes are something completely different.
SNArruda wrote: Get the process (GetProcess)
GetProcAddress maybe ? (where Proc doesn't mean process but procedure)
If you are interested in the list of exported functions, you can have a look at this tool[^]
|
|
|
|
|
I have to remove excess "\\" backslashes in a path. EG. D:\Test\\\\ABC\\\\\XYZ is the string with excess back slashes. I have to format it as D:\Test\ABC\XYZ
Can I know the logic.
Thanks
|
|
|
|
|
You could try tokenizing the string using CString's Tokenize[^] method specifying the slash as delimiter and then adding the parts together with a single slash again, so something like this:
CString path, new_path, path_segment;
...
int Pos = 0;
while (!(path_segment = path.Tokenize("\\", Pos)).IsEmpty())
{
new_path = new_path + path_segment + "\\";
}
You can trim the trailing slash later if you don't need it...
> The problem with computers is that they do what you tell them to do and not what you want them to do. <
> Life: great graphics, but the gameplay sux. <
|
|
|
|
|
The simplest way, though potentially time consuming, is to call CString::Replace("\\\\", "\\") until it returns zero. I'd prefer copying the string and when a slash is encountered in the source, skipping to the next non-slash.
Anyone who thinks he has a better idea of what's good for people than people do is a swine.
- P.J. O'Rourke
|
|
|
|
|
How did you get a path in such a format?
"Old age is like a bank account. You withdraw later in life what you have deposited along the way." - Unknown
"Fireproof doesn't mean the fire will never come. It means when the fire comes that you will be able to withstand it." - Michael Simmons
|
|
|
|
|
I have a rectangular bitmap I want to transform into an arbitrary four-sided convex polygon. Is there any simple way of doing this knowing the vertices of the polygon? DirectX or OpenGL are not options.
The entire bitmap should be fitted within the polygon with the original corners at the polygon vertices.
Hopefully someone knows a way which doesn't require me to do all the skew/rotation/translation calculations myself
Thanks in advance
|
|
|
|
|
Niklas Lindquist wrote: I want to transform into an arbitrary four-sided convex polygon.
It is a quadrilateral, isn't it?
Niklas Lindquist wrote: Hopefully someone knows a way which doesn't require me to do all the skew/rotation/translation calculations myself
Oh, noone here, I suppose, would deny you such a amusing task...
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
[My articles]
|
|
|
|
|
|
I had to look it up, but yes, it's one of them quadriwhatevers.
|
|
|
|
|
|
i know it's bad form to plug your own products, but this will do it[^]. though it's not free (not really expensive, either).
the DLL download package contains an app called ISDemo.exe, which does quad->quad warps.
|
|
|
|
|
As retriving the font name I need to retrieve glyf information from the ttf file. look at the code below this is not full code just a piece of code
void TTFReader::ReadGlyf()
{
setPosition(m_glyfOffset);//get glyf offset from the ttf file
for(int c=0 ;c < m_glyphs.size();c++)
{
int gl = m_glyphs[c];
//unsigned short k = readWORD();
unsigned short numberOfContours = readWORD();
unsigned short minx1 = readWORD();
unsigned short miny1 = readWORD();
unsigned short maxx1 = readWORD();
unsigned short maxy1 = readWORD();
setPosition(m_glyfOffset+m_ttf_pos);
gl = m_glyphs[c];
}
}
my code is not working correctly mean not giving the exact value for eg the number of contours for one glyph.
|
|
|
|
|
Dear All,
Can anybody tell me how to know a Hard Disk Drive(Including External USB Hard Disk) has S.M.A.R.T support or not?
Thanks
|
|
|
|