This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
""" | |
Name-US:Save as template | |
Description-US:Saves the current document as template (hold CTRL to remove existing template, hold SHIFT to skip question dialog) | |
Name-DE:Als Template speichern | |
Description-DE:Speichert das aktuelle Dokument als Template (CTRL gedrückt halten um vorhandenes Template zu entfernen, SHIFT gedrückt halten um Abfrage zu überspringen) | |
""" | |
import os | |
import c4d | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
""" | |
Name-US:Restart Cinema 4D | |
Description-US:Restart Cinema 4D (hold SHIFT to skip the question) | |
Name-DE:Cinema 4D neustarten | |
Description-DE:Cinema 4D neustarten (SHIFT halten, um die Abfrage zu überspringen) | |
""" | |
import c4d | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
""" | |
Name-US:Close all documents | |
Description-US:Close all open documents, even the unsaved ones (hold SHIFT to skip the question) | |
Name-DE:Alle Dokumente schließen | |
Description-DE:Schließt alle Dokumente, auch die ungespeicherten (SHIFT halten um die Abfrage zu unterdrücken) | |
""" | |
import c4d | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import c4d | |
ID_SHOWDIRTYCHECKSUMSTAG = 1052821 | |
class ShowDirtySumsTag(c4d.plugins.TagData): | |
def Init(self, node): | |
priorityData = node[c4d.EXPRESSION_PRIORITY] | |
if priorityData is not None: |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/python | |
# | |
# Example calls: | |
# | |
# python getc4dresid.py --module lbwss --plugin osurfacespread | |
# Get some free resource IDs from plugin "Osurfacespread" in module "lbwss" | |
# | |
# python getc4dresid.py --module cinea4dsdk --plugin oatom --limit 1 | |
# Get the next free resource ID from plugin "Oatom" in module "cinema4dsdk" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import inspect | |
def PrintCallstack(printArgs = False): | |
"""Print the callstack, starting from top calling function | |
down to the function that called PrintCallstack(). | |
To also print out all arguments passed to the calling function, | |
including the arguments' values, set printArgs to True. | |
Careful, this can get quite overwhelming. | |
""" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import c4d | |
""" | |
This script demonstrates two generator functions, AllChildren() and AllParents(). | |
To test this, use any scene with a reasonably complex hierarchy, select any one object and run the script. | |
""" | |
def AllChildren(startOp, maxDepth = 0, currentRecursionDepth = 1): | |
"""Yield all objects that are part of startOp's child hierarchy. | |
Set maxDepth to a value != 0 to restrict recursion to a certain depth. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include "c4d_general.h" | |
#include "c4d_plugin.h" | |
#include "ge_sys_math.h" | |
#include "c4d_string.h" | |
#include "ge_prepass.h" | |
#include "c4d_baselist.h" | |
#include "c4d_commanddata.h" | |
#include "c4d_falloffdata.h" | |
#include "c4d_messageplugin.h" | |
#include "c4d_baseeffectordata.h" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/// Show or hide an element from a node's description | |
/// | |
/// param[in] node The node whose description we're changing | |
/// param[in] descr The description we're changing | |
/// param[in] MyDescID The ID of the element | |
/// param[in] show Pass true to show, or false to hide | |
/// return False if an error occurred, otherwise true | |
static Bool ShowDescription(GeListNode *node, Description *descr, Int32 descID, Bool show) | |
{ | |
AutoAlloc<AtomArray> ar; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/// Return the normal vector for a vertex of a polygon object. | |
/// The normal is computed as an average of the normals of all polygons that are neighbors to the specified vertex. | |
/// | |
/// @param[in] op The PolygonObject | |
/// @param[in] neighbor Pointer to a Neighbor object. Must already be initialized, caller owns the pointed object. | |
/// @param[in] pointIndex The index of the vertex we want the normal of | |
/// @return The normal of the point in local object space | |
static Vector GetVertexNormal(PolygonObject *op, Neighbor *neighbor, Int32 pointIndex) | |
{ | |
// Variables |