当前位置: 首页>>代码示例>>C++>>正文


C++ POV_FREE函数代码示例

本文整理汇总了C++中POV_FREE函数的典型用法代码示例。如果您正苦于以下问题:C++ POV_FREE函数的具体用法?C++ POV_FREE怎么用?C++ POV_FREE使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。


在下文中一共展示了POV_FREE函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的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


注:本文中的POV_FREE函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。