本文整理汇总了C++中POV_FREE函数的典型用法代码示例。如果您正苦于以下问题:C++ POV_FREE函数的具体用法?C++ POV_FREE怎么用?C++ POV_FREE使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了POV_FREE函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: POV_FREE
void Parser::FNSyntax_DeleteExpression(ExprNode *node)
{
ExprNode *temp = NULL;
for(ExprNode *i = node; i != NULL; i = i->next)
{
if(temp != NULL)
{
POV_FREE(temp);
}
FNSyntax_DeleteExpression(i->child);
if((i->op == OP_VARIABLE) || (i->op == OP_MEMBER))
{
POV_FREE(i->variable);
}
else if(i->op == OP_CALL)
{
if((i->call.token == FUNCT_ID_TOKEN) || (i->call.token == VECTFUNCT_ID_TOKEN))
dynamic_cast<FunctionVM*>(sceneData->functionContextFactory)->RemoveFunction(i->call.fn);
POV_FREE(i->call.name);
}
temp = i;
}
if(temp != NULL)
{
POV_FREE(temp);
}
}
开发者ID:hjw3001,项目名称:povray,代码行数:32,代码来源:parser_functions.cpp
示例2: FNSyntax_DeleteExpression
void FNSyntax_DeleteExpression(ExprNode *node)
{
ExprNode *temp = NULL;
for(ExprNode *i = node; i != NULL; i = i->next)
{
if(temp != NULL)
{
POV_FREE(temp);
}
FNSyntax_DeleteExpression(i->child);
if((i->op == OP_VARIABLE) || (i->op == OP_MEMBER))
{
POV_FREE(i->variable);
}
else if(i->op == OP_CALL)
{
if((i->call.token == FUNCT_ID_TOKEN) || (i->call.token == VECTFUNCT_ID_TOKEN))
POVFPU_RemoveFunction(i->call.fn);
POV_FREE(i->call.name);
}
temp = i;
}
if(temp != NULL)
{
POV_FREE(temp);
}
}
开发者ID:obeoneji,项目名称:light_field_personal,代码行数:32,代码来源:fnsyntax.cpp
示例3: bezier_tree_deleter
void BicubicPatch::bezier_tree_deleter(BEZIER_NODE *Node)
{
int i;
BEZIER_CHILDREN *Children;
/* If this is an interior node then continue the descent. */
if (Node->Node_Type == BEZIER_INTERIOR_NODE)
{
Children = reinterpret_cast<BEZIER_CHILDREN *>(Node->Data_Ptr);
for (i = 0; i < Node->Count; i++)
{
bezier_tree_deleter(Children->Children[i]);
}
POV_FREE(Children);
}
else
{
if (Node->Node_Type == BEZIER_LEAF_NODE)
{
/* Free the memory used for the vertices. */
POV_FREE(Node->Data_Ptr);
}
}
/* Free the memory used for the node. */
POV_FREE(Node);
}
开发者ID:dickbalaska,项目名称:povray,代码行数:32,代码来源:bezier.cpp
示例4: Destroy_Priority_Queue
void Destroy_Priority_Queue(PRIORITY_QUEUE *Queue)
{
if (Queue != NULL)
{
POV_FREE(Queue->Queue);
POV_FREE(Queue);
}
}
开发者ID:ClementLeBihan,项目名称:CelluleFlexible,代码行数:9,代码来源:bbox.cpp
示例5: cleanup_gif_decoder
static void cleanup_gif_decoder ()
{
POV_FREE (dstack);
POV_FREE (suffix);
POV_FREE (prefix);
dstack = NULL;
suffix = NULL;
prefix = NULL;
}
开发者ID:obeoneji,项目名称:light_field_personal,代码行数:10,代码来源:gifdecod.cpp
示例6: POV_FREE
Polygon::~Polygon()
{
if (--(Data->References) == 0)
{
POV_FREE (Data->Points);
POV_FREE (Data);
}
Destroy_Transform(Trans);
}
开发者ID:hjw3001,项目名称:povray,代码行数:11,代码来源:polygon.cpp
示例7: Destroy_Spline
void Destroy_Spline(SPLINE * Spline)
{
if (Spline->ref_count <= 0)
throw POV_EXCEPTION_STRING("Internal error: Invalid spline reference count\n");
Spline->ref_count --;
if (Spline->ref_count == 0)
{
POV_FREE(Spline->SplineEntries);
POV_FREE(Spline);
}
}
开发者ID:cristianodelucca,项目名称:povray,代码行数:12,代码来源:splines.cpp
示例8: Destroy_Transform
Lathe::~Lathe()
{
Destroy_Transform(Trans);
if (--(Spline->References) == 0)
{
Destroy_BCyl(Spline->BCyl);
POV_FREE(Spline->Entry);
POV_FREE(Spline);
}
}
开发者ID:neuroradiology,项目名称:povray,代码行数:13,代码来源:lathe.cpp
示例9: POV_FREE
TraceThreadData::~TraceThreadData()
{
delete functionContext;
for(vector<GenericFunctionContextPtr>::iterator i = functionPatternContext.begin(); i != functionPatternContext.end(); ++i)
delete *i;
POV_FREE(Blob_Coefficients);
POV_FREE(Blob_Queue);
POV_FREE(isosurfaceData);
Fractal::Free_Iteration_Stack(Fractal_IStack);
delete surfacePhotonMap;
delete mediaPhotonMap;
delete[] Blob_Intervals;
for(vector<LightSource *>::iterator it = lightSources.begin(); it != lightSources.end(); it++)
Destroy_Object(*it);
}
开发者ID:jwmynhier,项目名称:povray,代码行数:16,代码来源:threaddata.cpp
示例10: GET
UCS2 *Parser::Parse_Substr(bool pathname)
{
UCS2 *str;
UCS2 *New;
int l, d;
GET(LEFT_PAREN_TOKEN);
str = Parse_String(pathname);
Parse_Comma();
l = (int)Parse_Float();
Parse_Comma();
d = (int)Parse_Float();
GET(RIGHT_PAREN_TOKEN);
if(((l + d - 1) > UCS2_strlen(str)) || (l < 0) || (d < 0))
Error("Illegal parameters in substr.");
New = reinterpret_cast<UCS2 *>(POV_MALLOC(sizeof(UCS2) * (d + 1), "temporary string"));
UCS2_strncpy(New, &(str[l - 1]), d);
New[d] = 0;
POV_FREE(str);
return New;
}
开发者ID:Nyoho,项目名称:povray,代码行数:27,代码来源:parsestr.cpp
示例11: POV_FREE
IsoSurface::~IsoSurface()
{
if(--mginfo->refcnt == 0)
POV_FREE(mginfo);
delete Function;
Destroy_Transform(Trans);
}
开发者ID:quickfur,项目名称:povray,代码行数:7,代码来源:isosurface.cpp
示例12: Parse_String
std::string Parser::Parse_SysString(bool pathname, bool require)
{
UCS2 *cstr = Parse_String(pathname, require);
std::string ret(UCS2toSysString(cstr));
POV_FREE(cstr);
return ret;
}
开发者ID:wfpokorny,项目名称:povray,代码行数:7,代码来源:parser_strings.cpp
示例13: POV_FREE
void Parser::Destroy_Function(FUNCTION_PTR Function)
{
if(Function != NULL)
{
sceneData->functionVM->RemoveFunction(*Function);
POV_FREE(Function);
}
}
开发者ID:Degot,项目名称:povray,代码行数:8,代码来源:function.cpp
示例14: Deinitialize_VLBuffer_Code
void Deinitialize_VLBuffer_Code()
{
if (Node_Queue != NULL)
{
POV_FREE(Node_Queue->Queue);
POV_FREE(Node_Queue);
}
if (VLBuffer_Queue != NULL)
{
Destroy_Priority_Queue(VLBuffer_Queue);
}
Node_Queue = NULL;
VLBuffer_Queue = NULL;
}
开发者ID:obeoneji,项目名称:light_field_personal,代码行数:17,代码来源:vlbuffer.cpp
示例15: POV_FREE
void Parametric::Destroy_PrecompParVal()
{
if (PData == NULL)
return;
PData->use--;
if (PData->use == 0)
{
if (PData->flags & OK_X)
{
POV_FREE(PData->Low[0]);
POV_FREE(PData->Hi[0]);
}
if (PData->flags & OK_Y)
{
POV_FREE(PData->Low[1]);
POV_FREE(PData->Hi[1]);
}
if (PData->flags & OK_Z)
{
POV_FREE(PData->Low[2]);
POV_FREE(PData->Hi[2]);
}
POV_FREE(PData);
}
}
开发者ID:fourks,项目名称:povray,代码行数:26,代码来源:fpmetric.cpp
示例16: Destroy_Tnormal
void Destroy_Tnormal(TNORMAL *Tnormal)
{
if (Tnormal != NULL)
{
Destroy_TPat_Fields ((TPATTERN *)Tnormal);
POV_FREE(Tnormal);
}
}
开发者ID:acekiller,项目名称:povray,代码行数:9,代码来源:normal.cpp
示例17: Destroy_BBox_Tree
void Destroy_BBox_Tree(BBOX_TREE *Node)
{
if(Node != NULL)
{
if(Node->Entries > 0)
{
for(short i = 0; i < Node->Entries; i++)
Destroy_BBox_Tree(Node->Node[i]);
POV_FREE(Node->Node);
Node->Entries = 0;
Node->Node = NULL;
}
POV_FREE(Node);
}
}
开发者ID:SteveShaw,项目名称:povray,代码行数:18,代码来源:bbox.cpp
示例18: Destroy_Interior
void Destroy_Interior(INTERIOR *Interior)
{
if ((Interior != NULL) && (--(Interior->References) == 0))
{
Destroy_Media(Interior->IMedia);
POV_FREE(Interior);
}
}
开发者ID:obeoneji,项目名称:light_field_personal,代码行数:9,代码来源:interior.cpp
示例19: Destroy_Fog
void Destroy_Fog(FOG *Fog)
{
if (Fog != NULL)
{
Destroy_Turb(Fog->Turb);
POV_FREE(Fog);
}
}
开发者ID:Nyoho,项目名称:povray,代码行数:9,代码来源:atmosph.cpp
示例20: Destroy_Rainbow
void Destroy_Rainbow(RAINBOW *Rainbow)
{
if (Rainbow != NULL)
{
Destroy_Pigment(Rainbow->Pigment);
POV_FREE(Rainbow);
}
}
开发者ID:Nyoho,项目名称:povray,代码行数:9,代码来源:atmosph.cpp
注:本文中的POV_FREE函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论